编程珠玑
johnny710vip
微信公众号搜索:【持续读书】专注于优质内容分享
展开
-
哨兵的使用
应用:假设一个乱序数组,需要查找一个元素是否在该数组中,这时需要用到顺序查找,也就是遍历数组。一般情况下我们会写下如下代码:[cpp] view plaincopyprint?int Sequential_Search(int *a,int n,int key) { //数组从1开始 int i;原创 2014-05-08 10:07:15 · 1491 阅读 · 0 评论 -
快速排序
快速排序算法一、快速排序算法的基本特性时间复杂度:O(n*lgn)最坏:O(n^2)空间复杂度:O(n*lgn)不稳定。快速排序是一种排序算法,对包含n个数的输入数组,平均时间为O(nlgn),最坏情况是O(n^2)。通常是用于排序的最佳选择。因为,基于比较的排序,最快也只能达到O(nlgn)。二、快速排序算法的描述算法导论,第7章转载 2014-04-23 20:40:47 · 153 阅读 · 0 评论 -
快速排序算法
快速排序算法一、快速排序算法的基本特性时间复杂度:O(n*lgn)最坏:O(n^2)空间复杂度:O(n*lgn)不稳定。快速排序是一种排序算法,对包含n个数的输入数组,平均时间为O(nlgn),最坏情况是O(n^2)。通常是用于排序的最佳选择。因为,基于比较的排序,最快也只能达到O(nlgn)。二、快速排序算法的描述算法导论,第7章原创 2014-04-23 20:55:25 · 130 阅读 · 0 评论 -
位向量/位图的定义和应用
位向量/位图是一个很有用的数据结构,在充分利用小空间存储大量数据方面非常具有优势,Linux内核中很多地方都是用了位图。同时,它不但基础,而且用到了很多编程语言的知识,以及对细节的把握,常常作为面试题出现。这里将要介绍它的实现、操作、应用。 与位图(bitmap)比,我更倾向于用位向量(bit vector),前者比较容易与图形学里的名词混淆,其实提到位图,多指的是“是使用像素阵列来表示转载 2014-04-24 09:57:40 · 1484 阅读 · 0 评论 -
编程珠玑笔记第一章
问题描述:问题:一个最多包含n个正整数的文件,每个数都小于n,n = 100 00000。文件中的正整数没有重复的,请按升序排列这些整数。可用内存空间只有1MB左右,运行时间在10秒左右。选择方案:1:归并排序,32为整数,1M的内存空间,每次可以读入约250 000(25万)个数(注意估计方法,1M 10的6次方,1百万字节,1G,10的9次方,10亿字节)那转载 2014-04-24 18:24:29 · 781 阅读 · 0 评论 -
编程珠玑第三章
8、获取数码管显示方式[cpp] view plaincopy#include #include #include //数字0-9的数码管显示方式 char *number[] = {"1011111","0000101","1110110","1110101","0101101", "1转载 2014-04-28 10:28:36 · 782 阅读 · 0 评论