上一页 1 ··· 3 4 5 6 7 8 9 下一页
摘要: 问题 对于两个很大的整数相乘,比如,两个数的位数都是1024, c语言表示不了这么大的数。不过我们可以使用分治法来求它们的乘积。 解决 不失一般性,两个数A 和 B都是n位,n是2的幂次。如果不满足这个条件,可以通过补0操作,使它们满足。 A: B: 则A*B 可以写为: A*B = (a1*10^ 阅读全文
posted @ 2018-10-13 13:39 二狗啸地 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 作用 在互联网上传输二进制数据。在互联网上传输非可打印字符时,可能会导致乱码、不能被网关有效处理等问题,而可打印字符不会有这些问题。故将二进制字符转为可打印字符就可以了。 原理 base64就是将3个8位的数据,转为4个6位的数据。转换后的字符都是可打印字符。一般设置为"ABCDEFGHIJKLMN 阅读全文
posted @ 2018-10-12 23:18 二狗啸地 阅读(480) 评论(0) 推荐(0) 编辑
摘要: 分治法https://www.cnblogs.com/zuofaqi/p/9678356.html 引入了最大子数组问题,它有一个更高效的解决方法就是动态规划法 如果已经知道 A[0...i] 的最大子数组,那么 A[0...i+1] 的最大子数组要么是 A[0...i] 的最大子数组,要么是某个子 阅读全文
posted @ 2018-09-20 22:23 二狗啸地 阅读(889) 评论(0) 推荐(0) 编辑
摘要: 原理 将问题分解为几个规模较小但类似于原问题的子问题,递归求解这些子问题,然后合并这些子问题的解来建立原问题的解 分治模式在每层递归时,都有三个步骤:1. 分解原问题为若干子问题,这些子问题是原问题的规模较小的实例。2. 解决这些子问题,递归地求解各个子问题。如果子问题规模足够小,直接求解3. 合并 阅读全文
posted @ 2018-09-19 23:32 二狗啸地 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 考虑上一篇的插入排序,在for循环的每次迭代开始,包含元素A[0...i-1]的子数组是当前排序好的,剩余的数组元素A[i...arrlen]是仍未排序的。我们把A[0...i-1]的这个性质称为一个循环不变式 循环不变式(loop invariants)不只是一种计算机科学的思想,准确地说是一种数 阅读全文
posted @ 2018-09-19 21:05 二狗啸地 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 插入排序的过程是:对于一个无序数组,每个元素与前面元素比较,从后往前比较,如果比其中一个元素小,就把该元素插入比它小的元素前面。 插入排序是原址排序,原址排序指基本上不需要额外的辅助空间,允许少量额外的辅助变量进行的排序。就是在原来的排序数组中比较和交换的排序。 它是稳定排序 阅读全文
posted @ 2018-09-19 20:28 二狗啸地 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 特点 对于有n个数的数组来说,快速排序最坏情况下的时间复杂度是O(n^2)。但是,快速排序通常是在实际应用中最好的选择,因为它的平均性能非常好: 它的期望时间复杂度是 O(n lgn),而且,O(n lgn)中隐含的常数因子很小。它还是可以进行原址排序。STL algorithm中的sort函数就是 阅读全文
posted @ 2018-09-18 22:55 二狗啸地 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 这里介绍了堆的操作 https://www.cnblogs.com/zuofaqi/p/9665619.html 堆还可以用来做堆排序,其过程是:对于从小到大的排序,使用最大堆。建堆之后,交换第一个元素和最后一个堆元素,这样,最后一个堆元素A[n-1]就是最大值,而A[0...n-2]的堆结构就被破 阅读全文
posted @ 2018-09-18 21:13 二狗啸地 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 表示形式 堆是一个数组,可以被看成是一个近似的完全二叉树。表示堆的数组A包含两个属性:A.length表示元素个数,A.heap-size表示有多少个堆元素存储在数组中。 也就是说,虽然A[1...A.length]可能都存有数据,但是只有A[1...A.heap-size]中存放的是堆的有效元素( 阅读全文
posted @ 2018-09-17 23:22 二狗啸地 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 消息队列是在两个进程间传递二进制数据的方法。每个数据块都有一个类型,接受方可以根据类型来有选择地接受数据,不需要像管道一样必须按照先进先出的顺序。 linux消息队列有四个系统调用:msgget, msgsnd, msgrcv, msgctl msgget 创建/获取一个消息队列。key是唯一键值, 阅读全文
posted @ 2018-09-15 16:42 二狗啸地 阅读(1002) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 下一页