算法笔记
排序算法专题 排序算法 时间复杂度(平均) 时间复杂度(最坏) 时间复杂度(最好) 空间复杂度 稳定性 冒泡排序 O(n²) O(n²) O(n) O(1) 稳定 选择排序 O(n²) O(n²) O(n²) O(1) 不稳定 插入排序 O(n²) O(n²) O(n) O(1) 稳定 希尔排序 O(n log n) O(n²) O(n log n) O(1) 不稳定 归并排序 O(n log n) O(n log n) O(n log n) O(n) 稳定 快速排序 O(n log n) O(n²) O(n log n) O(log n) 不稳定 堆排序 O(n log n) O(n log n) O(n log n) O(1) 不稳定 计数排序 O(n + k) O(n + k) O(n + k) O(k) 稳定 桶排序 O(n + k) O(n²) O(n) O(n + k) 稳定 基数排序 O(n × k) O(n × k) O(n × k) O(n + k) 稳定 归并排序 是分治法 自上而下的递归或自下而上的迭代
Python笔记
底层 **kwargs 和 *args *的作用是解包运算符,用于解包可迭代对象(列表,元组)函数定义中是打包为元组,调用中是解包为未知参数12345def my_function(a, b, c) print(a, b, c)args = (1, 2, 3)my_function(*args) # 输出:1, 2, 3 类似的,**用作打包、解包字典*用作未知参数,**用作关键字参数 补充01-14 字典内置函数、方法· cmp(dict1, dict2)对比两个字典元素· len(dict)计算字典元素个数,即键的总数· str(dict)输出字典可打印的字符串表示· type(varible)返回输入的变量类型,如果变量是字典就返回字典类型· dict.clear()删除字典内的所有元素· dict.copy()返回一个字典的浅复制· dict.get(key, default=None)返回指定键的值,如果值不在字典中返回default值· dict.has_key(key)如果键在字典dict里返回true,否则返回false。...
算法笔记
数组与字符串 最长回文子串遍历,用helper实现从中间向两边遍历,区分子串长度的奇偶 翻转字符串里的单词a[::-1]表示翻转列表的切片操作 两数之和用哈希表优化到O(n)
概率论笔记
本文记录了概率论学习中的常用花体字母手写示例,适合概率论初学者参考。
学习路径(AI说的)
本文介绍了学习差分隐私的先行课程和基础知识,包括概率论、线性代数、算法与数据结构、数据库、机器学习、密码学等内容,并提供了详细的学习路径和推荐资源。
Python学习
本文总结了 Python 的常用语法和技巧,包括数据类型、运算符、推导式、迭代器、生成器、函数、模块等内容,适合 Python 初学者快速掌握核心知识点。
算法笔记
本文总结了数组与字符串相关的算法技巧,重点介绍了最长公共前缀问题的解决方法,包括使用切片和 zip 函数的技巧。