摘要:
计数排序 计数排序的实现主要是数据样本的特殊性(正整数,明确最大边界)和利用列表索引位置来记录值,索引值来统计个数 最后循环索引,根据值(个数)确定添加多少个 桶排序 桶排序实现思路和计数排序实现思路大体相同,计数排序是通过列表索引来把相同的数弄到一组,而桶排序则是确定一个范围来确定分组 代码实现思 阅读全文
摘要:
希尔排序是插入排序的变种 它的速度要比堆排序慢些 实现过程一个重点就是步长: 取列表长度 // 2,确定初始步长,此时也是最大步长,以间隔步长分组,组内数进行插入排序 取 初始步长 // 2,确定第二次步长,以间隔步长分组,组内数进行插入排序 循环1,2,直到步长为1 阅读全文
摘要:
算法: 1.二分法查找 2.冒泡-选择-插入 3.快速-堆-归并 4.希尔排序 5.计数-桶-基数 数据结构: 1.列表 2.栈 3.队列 4.链表 5.哈希表 6.树 阅读全文
摘要:
快速排序 随便取个数,作为标志值,这里就默认为索引位置为0的值 记录左索引和右索引,从右往左找比标志值小的,小值和左索引值交换,右索引变化,然后从左往右找比标志值大的,大值和右索引值交换,左索引变化 循环第二步骤直到左索引和右索引碰头,标志值和当期左索引(右)交换,这样一个循环下,就得出一个标志值左 阅读全文
摘要:
冒泡排序 时间复杂度:O(n2) 算法稳定 第一趟,从第一个数开始,相邻两个数比较,大的数交换放后,交换到最后位置得出一个第一大数 第二趟,从第一个数开始,相邻两个数比较,大的数交换放后,交换到倒数第二得出一个第二大数 第n-1趟,最后的两个数比较得出最小数和倒数第二小数 代码实现点:时时比较,时时 阅读全文
摘要:
如果让你在一堆数中,查看某个数是否存在?你会怎么找? 按常识是不是一个一个看过去?这个我们就叫顺序查找 最好的情况就是看到第一个就是你要的,就不会往下看了,但是如果是最后一个数是你想要的,这种情况下,查看次数就变成了数字的个数 如果数很多时,比如亿计,会不会觉得效率很低 下面我们介绍的二分法查找,要 阅读全文