- 博客(7)
- 资源 (3)
- 收藏
- 关注
原创 C++数据结构学习笔记(六)
元素的访问 1 V.get(r) V.get(r,e)接口 2 重载[] template T& Vector::operator[](Rank r) const{return _elem[r]}; 插入 template Rank Vector::insert(Rank r,T const & e) { expand(); for(int i = _s
2018-01-22 14:01:14
353
转载 把戏、杂技和先辈的括号——献给住在计算机内的神灵们
数学家们用奇怪的符号组成美妙的式子来表达具有深刻逻辑性的思想。 工程师们不但有从数学家那里继承来的严谨形式化体系,他们还有……呃,NULL和指针! 图灵机和λ-演算,前者在冯·诺依曼体系的补充下显得更加地“工程”,相较之下后者却更加地“数学”。作为两种模型体现,C语言和Scheme(Lisp)完全就像是两种极端:[一个是红外线,而另一个是紫外线] 1。 那些说C语言的人,他们甚至
2018-01-06 17:25:30
382
原创 C++数据结构学习笔记(五)
从数组到向量 向量是数组的抽象和泛化,由一组元素按照线性次序封装而成 各元素[0,n)内的秩一一对应 //循秩访问 元素的类型不限于基本类型 操作,管理更加简化,统一和安全 可以更为便捷的参与复杂数据结构的定制与实现 向量ADT接口 size() 报告当前规模 get(r) 获取秩为r的元素 put(r,e) 用e替换秩为r元素的数值 insert(r,e) e作为秩为
2018-01-06 17:24:22
396
原创 C++数据结构学习笔记(四)
递归+分治,求一个数列的最大值和最小值 #include #include using namespace std; int max2(int A[], int lo, int hi, int &x1, int &x2) { if (lo + 2 == hi) { if (A[lo]<A[hi - 1]) { x1 = A[hi - 1]; x2 = A[lo];
2018-01-03 19:15:53
214
原创 C++数据结构学习笔记(三)
Back-of-The-Envelope Calculation 封底估算,用于复杂度的分析 减而治之 sum(int A[],int n) { return (n<1)? 0: sum(A,n-1)+A[n-1]; } T(n)=T(n-1)+O(1) T(0)=O(1) 故T(n)=O(n) 数组倒置 void reverse(int * A,int lo,
2018-01-02 20:28:10
335
原创 C++数据结构学习笔记(二)
RAM模型RAM:Random Access Machine寄存器顺序编号,总数没有限制R[0],R[1],R[2]...每一项操作仅需要常数时间R[i]R[i]IF R[i] = 0 GOTO 1 IF R[I]>0 GOTO 1 GOTO 1 STOP与TM模型一样,RAM模型也是一般计算工具的简化与抽象T(n) = 算法为求解规模为n的问题,所需要执行的基本
2018-01-02 12:19:59
316
原创 C++数据结构学习笔记(一)
计算机科学 = 计算科学? 计算机只是工具,计算才是最终的目的。(即如何有效和高效的计算) by Dijkstra 计算 = 信息处理 借助某种工具,遵循一定的规则,以明确而机械的形式进行 计算模型 = 计算机 = 信息处理工具 实例1 Hailstone(n) 序列具有以下性质 {1} n {n}U Hailstones(n/2) n偶 {n}U
2018-01-01 18:28:55
323
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅