编程珠玑
scgillian
这个作者很懒,什么都没留下…
展开
-
编程珠玑第9章二分搜索(有重复数字)中查找某数出现的第一个位置
binary search:search the first occurence of a number 查找的数中有重复的数 只需在原始的二分搜索基础上进行修改,当中间的数A[mid]与target值相同时,target值的第一次出现要么是在mid处,要么是在mid左边。若low与mid(low==mid)的闭区间只包含一个数,则返回值为mid,若low 具体实现如下 #inc原创 2013-08-21 09:49:10 · 1732 阅读 · 0 评论 -
编程珠玑 column 10
主要介绍的稀疏矩阵的存储方式。没必要存储矩阵的每个点。只需存储不为0的值的点。使用一个数组来代表所有的列,一个链式表来代表给定列中的不为0的元素 该链式表可以定义成 struct Node p{ int pointnum; int row; Node *next }原创 2013-08-23 20:56:57 · 569 阅读 · 0 评论 -
编程珠玑column12
12.2 列举了从[0,5)中选2个数的情形,0被选中的概率是2/5 通常情况下,从r个数中选择s个数,某一个数(确切说是选择第1个数时)被选中的概率是s/r 可以这样思考:从r个数中任选一个数该数被选中的概率是1/r,但这是选择s个数,就相当于s次机会,相当于s/r,这样思考不严谨。 参考了http://blog.csdn.net/songzitea/article/detail原创 2013-08-26 11:12:12 · 578 阅读 · 0 评论 -
编程珠玑column14 heaps
堆的siftdown操作 假设x[1..n]的序列已经是一个堆,现在修改x[1]的值,然后调整这个序列使维持堆的性质 初始化所以i为1,直到i没有子节点或者子节点的值均大于i所在的节点的值为止。 把c设置成节点i的子节点中值较小的节点索引 c=2*i if(c+1 if(x[c+1] c++原创 2013-08-27 13:48:19 · 985 阅读 · 0 评论