这一章主要讨论4个一般的原理及它们蕴含的某些计数公式。
Hexo增加访问速度:同时部署到Github和Coding
因为之前的Blog都是部署到Github上的,而它的服务器都是在国外的,所以访问速度有时会很慢。而Coding(腾讯云开发者平台)的服务器是在国内的。
现在通过同时部署到Github和Coding上的方法,使得国内访问者可以通过Coding的服务访问,而国外访问者通过GitHub的服务访问。
《编程珠玑》第14章 堆排序与优先队列
第14章中介绍了一种常用的数据结构“堆”,并用它解决了两个重要问题。
- 排序,使用堆排序算法对元数组排序,时间复杂度为。
- 优先级队列,堆通过插入元素和提取堆顶元素来维护元素集合,每个操作所需的时间都是。
《编程珠玑》第11章 排序
本文主要针对《编程珠玑》第11章中的快速排序算法阅读做一点记录。
- 快速排序是一种分治算法:排序数组时,将数组分成两个小部分,其中一部分大于数组中的某个值,另一部分不大于这个值,然后对这两个部分进行递归排序。
- 下面使用下标(从0开始)和表示待排序部分的上界和下界,递归结束的条件是带排序部分的元素个数小于2,即。
- 为了围绕值对数组进行划分,下面分别讨论几种方案。
《编程珠玑》—第8章 算法设计技术
本书对《编程珠玑》第8章中分析的“最大连续子向量和”问题的3种解决方法进行了实现,并对习题中的最大矩形子数组和给出代码。
《编程珠玑》旋转字符串、七段数码管显示十进制数
本文针对《编程珠玑》第2章中的旋转字符串问题和第3章的习题3.8给出了解决的代码。
FILE和fstream的效率测试
针对在前一篇文章中进行代码优化时遇到的文件读写速度问题,本文简单测试了一下C语言中的FILE和C++的fstream的读写效率。
从最多包含40亿个随机排列的32位整数的顺序文件中寻找一个不存在的数—--分块位图法、二分搜索
本文尝试解决《编程珠玑》第2章问题A:给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在其中的32位整数。
这里考虑到数据量的问题,改为1680万个随机排列的24位整数。分别尝试了分块位图法、二分搜索两个算法,并分析了时间和空间复杂度。