摘要: 问题背景 在阅读源码的时候遇到了unittest.main()函数,网上查到用法,做些记录 需要导入其模块 unittest模块用于单元测试.其中测试类需要传入参数 并且类中的函数需要以test开头,方可执行. 最后是调用: 完整测试代码 参考 "unittest之入口main()" 阅读全文
posted @ 2020-03-22 16:17 高坦的博客 阅读(4981) 评论(0) 推荐(0) 编辑
摘要: 堆排序 此算法特性 此算法适用场景 代码实现 参考 "图解排序算法(三)之堆排序 Java版本" "example" "常见排序算法集合以及分析(使用Python实现)" 阅读全文
posted @ 2020-03-22 13:51 高坦的博客 阅读(253) 评论(0) 推荐(0) 编辑
摘要: title 代码复制自 "随机快速排序的实现 夜雨最萌" .和快速排序一样呀😂 随机快速排序与快速排序的思路一样,差异就是取主元之前,随机快速排序多了一个步骤:而随机快速排序是随机取得一个元素,但是又会与最后一个元素交换位置.取得主元的下标位置实际上还是最后一个下标.快速排序是习惯取得最后一个元素 阅读全文
posted @ 2020-03-20 12:19 高坦的博客 阅读(879) 评论(0) 推荐(0) 编辑
摘要: 水平垂直居中的十种方案 兼容性 代码以及注释 参考 "CSS实现水平垂直居中的1010种方式 " "vertical align" 阅读全文
posted @ 2020-03-20 11:23 高坦的博客 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 此算法描述 此算法特性 此算法适用场景 代码 参考 "什么是计数排序?" "常见排序算法集合以及分析(使用Python描述)" 阅读全文
posted @ 2020-03-19 11:26 高坦的博客 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 问题描述 个人理解希尔排序就是插入排序的改进版,理解希尔排序之前需要先理解插入排序的逻辑. 此算法特性 暂为空,待补充 此算法适用场景 暂为空,待补充 代码实现 参考 "希尔排序 简单易懂图解" "五分钟学会一个高难度算法:希尔排序" "常见排序算法集合以及分析(使用Python描述)" 阅读全文
posted @ 2020-03-18 16:12 高坦的博客 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 问题描述 记得刚刚接触算法的时候觉得特别难以理解.最初接触的是冒泡排序 🤣 但是现在看一遍马上知道怎么回事,以及想到如何代码实现. 就像是咕噜咕噜冒泡泡一样.每次都是最大的泡泡冒到最上面.查看动画是最好理解的算法的方式之一.请参看: "冒泡排序动画演示" 关于冒泡排序的特性:冒泡排序的对比时间复杂 阅读全文
posted @ 2020-03-17 21:38 高坦的博客 阅读(1148) 评论(1) 推荐(0) 编辑
摘要: 问题描述 问题引入: 如何在数组中寻找最小的一个数字.有一种思路是:遍历一遍数组,数组元素进行对比大小.代码如下: arr = [1,0,22,2,3,99] def order_select(arr,left,right,key): 这个是需要return ''' key = k left = p 阅读全文
posted @ 2020-03-15 18:16 高坦的博客 阅读(432) 评论(0) 推荐(0) 编辑
摘要: 描述 归并排序和快速排序都是使用分而治之的思维.归并排序侧重点是最终结果的合并.快速排序的重点则是放在了子问题的分解上面. 代码一 def quick_sort(arr): len_arr = len(arr) if len_arr 参考 "分而治之" "算法设计与分析理论" "Python排序算法 阅读全文
posted @ 2020-03-15 11:00 高坦的博客 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 问题描述 如果觉得不容易理解请查看底部的算法可视化 代码描述 参考 "插入排序 百度百科" "插入排序算法可视化 visualgo" "常见排序算法集合以及分析(使用Python描述)" 阅读全文
posted @ 2020-03-14 19:18 高坦的博客 阅读(165) 评论(0) 推荐(0) 编辑