![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
程序员的自我修养
snail010101
这个作者很懒,什么都没留下…
展开
-
《程序员的自我修养》阅读笔记 --编译和链接
GCC编译C文件时,会进行:预处理、编译、汇编及链接原创 2017-07-02 16:53:28 · 260 阅读 · 0 评论 -
【数据结构】最大堆排序-python实现
【数据结构】最大堆排序-python实现堆排序介绍时间复杂度代码实现运行示例 堆排序介绍 (二叉)堆数据结构是一种数组对象。可以被视为一棵完全二叉树。数中每个节点与数组中存放该节点值的那个元素对应。树的每一层都是填满的。最后一层可能除外(最后一层从一个节点的左子树开始填) -引用自《算法导论》 再抄一遍复习一下 时间复杂度 从无序的数组构建一个完整的堆,最好及最坏的情况下,建立堆时间复杂度均为...原创 2018-10-06 19:56:09 · 301 阅读 · 0 评论 -
【数据结构】冒泡排序-python实现
[数据结构]冒泡排序-python实现冒泡排序介绍时间复杂度代码实现运行示例 冒泡排序介绍 冒泡排序通过不断的将较大(较小)的元素进行交换排序(像气泡一样逐渐浮上来),使得原本无序的结果逐渐有序。由于排序时,待选元素会和所有的元素进行对比,所以算法整体是稳定的。 时间复杂度 从无序到最终有序,算法不存在最好或者最坏的情况 (无论结果如何,都会进行遍历)。算法时间复杂度为o(n2)。 代码实现 ...原创 2018-10-07 14:40:18 · 170 阅读 · 0 评论 -
【数据结构】快速排序-python实现
【数据结构】快速排序-python实现快速排序介绍时间复杂度代码实现运行示例 快速排序介绍 快速排序运用了分治的思想。对包含n个数的输入数组,最坏情况运行时间为o(n2)。虽然最坏情况运行时间比较差,但是快速排序通常是用于排序的最佳的实用选择。这是因为其平均性能相当好:期望的运行时间为o(nlog2n),且o(nlog2n)记号中隐含的常数因子很小。另外,它还能够进行就地排序,在虚存环境中也能很...转载 2018-10-07 17:22:42 · 146 阅读 · 0 评论 -
【数据结构】归并排序-python实现
【数据结构】归并排序--python 实现归并排序介绍时间复杂度代码实现运行示例 归并排序介绍 快速排序是典型的使用分治的思想来解决问题的算法。分治策略会将原问题划分为n个规模较小而结构与原问题相似的子问题。递归地解决这些子问题,然后再合并其结果,就得到原问题的解。 --《算法导论》 时间复杂度 归并排序算法计算的耗时不依赖于数据的特点(相比于快速排序可知)。归并排序的最好及最坏情况均为o(l...原创 2018-10-07 18:54:20 · 167 阅读 · 0 评论