摘要: 本文记述了用 Matplotlib 在线性坐标系中绘制一次函数图象的例子。 代码主体内容如下: ... def main(): fig, ax = plt.subplots(figsize=(8,8)) #1 ax = configure_axes(ax, 'Linear Function', 10 阅读全文
posted @ 2024-09-27 15:47 green-cnblogs 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 本文记述了常见英语键盘上的特殊符号所对应的英语单词,全文如下。 符号 英语单词 备注 ` backtick ~ tilde ! exclamation point @ at # number / pound $ dollar % percentage ^ caret & ampersand * as 阅读全文
posted @ 2024-09-11 15:07 green-cnblogs 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 本文记述了用 Matplotlib 在对数坐标系中绘制图象的一种方法,并在以 2 为底的对数坐标系上展示了 选择排序、冒泡排序(二)、快速排序(四) 的性能数据图象。 笔者按如下布局绘制了 12 (4x3)幅图象,其中 [a,b] 代表某幅图象的位置。 + + + + | | | | | 选择排序 阅读全文
posted @ 2024-09-02 10:19 green-cnblogs 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 本文汇总了笔者所写的所有“常见的排序算法”的实现,从性能特点和运行时间的角度加以了对比。 以下表格记录了笔者所写的所有“常见的排序算法”的性能特点。 算法类 时间复杂度 空间复杂度 是否稳定 备注 Selection N^2 1 否 选择排序 Insertion N^2 1 是 插入排序,标准版。 阅读全文
posted @ 2024-07-24 16:18 green-cnblogs 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 本文记述了堆排序算法改用多叉堆实现的基本思想和一份参考实现代码,并在说明了算法的性能后用随机数据进行了验证。 ◆ 思想 多叉堆的完全树中,位置为 k 的结点,其父结点的位置为 ⎣(k + (d-2)) / d⎦,其子结点的位置为 k*d - (d-2), k*d - (d-1), ..., k*d, 阅读全文
posted @ 2024-07-23 14:40 green-cnblogs 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 本文记述了堆排序改用前序表示法基本思想和一份参考实现代码,并在说明了算法的性能后用随机数据进行了验证。 ◆ 思想 堆排序算法按照层次操作堆中的元素,即物理位置 k 的结点与位置 2k 或 2k+1 的结点交换。然而用前序表示的堆,其父子结点的位置关系不能简单地计算出来。因此,当算法模型(逻辑上)用的 阅读全文
posted @ 2024-07-22 16:15 green-cnblogs 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 本文记述了针对堆排序同时实施减少数据交换和 Floyd 方法的一份参考实现代码,并在说明了算法的性能后用随机数据进行了验证。 ◆ 思想 减少数据交换的操作,请参考堆排序(二);Floyd 方法,请参考堆排序(三)(此处略去详细说明)。 ◆ 实现 排序代码采用《算法(第4版)》的“排序算法类模板”实现 阅读全文
posted @ 2024-07-21 14:39 green-cnblogs 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 本文记述了针对堆排序实施 Floyd 方法的基本思想和一份参考实现代码,并在说明了算法的性能后用随机数据进行了验证。 ◆ 思想 “大多数在下沉排序期间重新插入堆的元素会被直接加入到堆底。Floyd 在 1964 年观察发现,我们正好可以通过免去检查元素是否到达正确位置来节省时间。”(引《算法(第4版 阅读全文
posted @ 2024-07-21 10:52 green-cnblogs 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 本文记述了针对堆排序微小改动的基本思想和一份参考实现代码,并在说明了算法的性能后用随机数据进行了验证。 ◆ 思想 堆的下沉操作中用到了昂贵的数据交换操作,此改动参考无交换的插入排序的思想,实现了减少数据交换的下沉操作。 先将要下沉的元素存放在临时空间中,再将下降过程中遇到的所有元素逐层上移,待找到下 阅读全文
posted @ 2024-07-20 11:04 green-cnblogs 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 本文记述了堆排序的基本思想和一份参考实现代码,并在说明了算法的性能后用随机数据进行了验证。 ◆ 思想 J.W.J Williams 提出了堆排序的算法,该算法利用了二叉堆有序的性质,将排序的过程分为先构建堆再排序的两个阶段。 先构建堆。从当前待排序范围一半的位置开始向第一个位置扫描,用下沉操作处理每 阅读全文
posted @ 2024-07-08 21:15 green-cnblogs 阅读(56) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示