
数据算法
xiaotian127
这个作者很懒,什么都没留下…
展开
-
leetcode刷题(一)(现有9/50,正在更新)
先定个小目标,第一部分,先刷50道1、两数和。输入一个全是int数的列表、target(目标和),返回满足条件的下标和。要求:1、时间复杂度应为O(n),因此双循环的方法无效;2、假设只满足条件的值只有一组 思路:先排序,再记录下排序后对应原列表的索引位置,再找指针两段往中间遍历...原创 2020-10-23 17:45:55 · 161 阅读 · 0 评论 -
python数据结构与算法刷题——剑指offer第二版加部分leetcode题
查找算法:查找较排序来说较简单,不外乎顺序查找和二分查找、哈希表查找和二叉排序树查找。(很多面试官喜欢让应聘者写出二分查找的代码)【注意:二分查找传入的必须是排好序的数组】排序算法:面试官经常会要求应聘者比较插入排序、冒泡排序、归并排序、快速排序等不同算法的优劣,作者强烈建议应聘者在准备面试时,一定要对各种排序算法的特点烂熟于心,能够从额外的空间消耗、平均时间复杂度和最差时间复杂度等方面取标胶...原创 2019-11-14 19:53:34 · 2946 阅读 · 0 评论 -
排序算法(正在更新中...)
目录1、冒泡算法排序1、冒泡算法排序具体的算法代码:12_冒泡算法的代码实现.py冒泡排序的时间复杂度为O(n^2),这种排序算法是稳定的。优化:有可能在中间的某一步就排好序了,这时就不用再往下执行排序了。2、选择排序算法代码实现:07_选择排序法代码实现.py;选择排序算法的时间复杂度为O(n^2),没有办法进行优化,因为要确定元素是最小的,这种排...原创 2019-10-08 10:12:25 · 249 阅读 · 0 评论 -
查找算法(正在更新中...)
1、二分查找再次强调:二分查找仅适用于有序的顺序表;二分查找的到吗实现:递归的实现方式和非递归的实现方式;递归或非递归实现的二分查找的最坏时间复杂度都是O(log n), 最优时间复杂度为O(1)2、顺序查找数据本身没有什么特征,而且我们要查找的数据可能出现在数据中的某个位置,此时需要从头或从尾开始依次查找,这就是顺序查找。顺序查找的代码实现:顺序查找的时间复杂度为...原创 2019-10-08 10:26:03 · 132 阅读 · 0 评论