![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序和查找
关于排序和查找算法的收集与整理!
志小
假以时日
展开
-
七大查找算法Python
参考链接一、参考链接二查找算法简介查找(Searching)就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素。 查找表(Search Table):由同一类型的数据元素构成的集合 关键字(Key):数据元素中某个数据项的值,又称为键值 主键(Primary Key):可唯一的标识某个数据元素或记录的关键字查找表按照操作方式可分为:...原创 2019-10-17 19:19:23 · 266 阅读 · 0 评论 -
排序算法C++实现
参考链接代码说明:1.每种算法都封装成void algorithm(int array[], int len)函数2.数据输入采用STL容器vector以实现任意个数数据的输入3.只支持int型数据排序,输入其他类型(敲入字符)即可结束数据输入4.主函数main()加入了可选参数,可指定用哪种算法,默认算法宏定义为快速排序5.整个程序可通过g++编译,简单数据测试也未发现问...原创 2019-10-17 15:19:47 · 164 阅读 · 0 评论 -
Python实现十大常用的排序算法(2)
堆排序堆排序基于比较交换,是冒泡排序的优化。具体涉及大(小)顶堆的建立与调整。大顶堆指任意一个父节点都不小于左右两个孩子节点的完全二叉树,根节点最大。堆排序首先建立大顶堆(找出一个最大值),然后用最后一个叶子结点代替根节点后做大顶堆的调整(再找一个最大值),重复以数组(列表)实现大顶堆时,从上到下,从左到右编号。父节点序号为n,则左右孩子节点序号分别为2*n+1、2*n+2大顶...原创 2019-10-17 15:09:39 · 211 阅读 · 0 评论 -
Python实现十大常用的排序算法(1)
学习自用,参考链接一、参考链接二、参考链接三、参考链接四博文 基本的排序算法在经过前人呕心沥血的研究下基本可以分为以下十种,当然除此之外,还有结合多种算法思想基于他们的改进变种。在插入、选择、交换这三大类基于比较的排序算法中,时间复杂度会随着优化程度在O(n^2)~O(nlogn)之间变化,希尔排序、快速排序、堆排序分别代表着杰出的优化策略。基于分治递归思想的归并排序将待排...原创 2019-10-17 14:40:54 · 322 阅读 · 0 评论