阅读思路

20091201

今天看的”树”,有些难,不过当看到”普通树”和二叉树之间的转换以及二叉树和森林之间的转换的时候感觉比较有意思,同时这些东西真的很有用,把复杂的东西简化抽象出来.神奇!

但是现在的学习进度我还是比较担心的,太慢!

20091115

昨天晚上做的”数据结构题集”上的题目,感觉挺有意思.

实现了一个基于”三元组顺序表”的矩阵相加的算法,算法的时间复杂度为O(m+n)(其中m和n代表两个矩阵的元素个数),基本思想比较简单,但是我写的代码可能比较多,比较凌乱.

20091112

上午背日语累了,就跑回寝室实现了一个稀疏矩阵的快速转置算法.现在比较来看还是这个快速算法比较快.

下午晚上就一直在看矩阵的乘法,完成了一个比较简单的乘法算法.但是那个基于”行逻辑链接的顺序表”的算法目前没有实现.

20091111

现在终于开始恩那个静下心来做些练习,编写一些代码,实现一些代码.

同时,随着难度的增加,数据结构的升级.越来越感觉可以实现的东西多了.可以完成的任务多了.挺棒!

比如今天就编写了一个”三元组顺序表”,用来实现普通的”稀疏矩阵的转换”.

20091108

今天终于完成了关于”2.3 线性表的链式表示和实现”这部分的代码,虽然是初步的实现(仅仅包含:构造函数,pop(), push(), remove(), insert()函数).但是已经相当有成就感了.因为以前实现别的东西都是用数组的方式实现的.这是第一次用指针表达的链式结构.

开还是要多看书,多学一些了…

20091106

发现我的这篇文章好久没有更新了.失败!

今天老师讲的是数组和广义表.讲了二维,三维及多维的数组表示,和矩阵的压缩.现在的我听到矩阵就很兴奋.因为最近一直在和矩阵打交道.因为学习OpenCV中大部分的函数都在和矩阵打交道,比如图像就是用矩阵来表示的.主要有IplImage, CvMat, CvArr等结构.

该学习了.要不估计期末考试够呛!

20090926

补充几个不错的链接,关于数据结构的:

20090925

上午有底小强老师的<数据结构>课,这节课听了老师讲的堆栈(Stack),又了解了一些堆栈的应用.

其中关于数制的转换,括号匹配的检验,行编辑程序的实现是比较有趣的.现在想起以前的一些ACM题目,不由得感觉数据结构真的很有用.拓宽了自己的视野.有学习的价值.

分享几个关于Data Structures的站点:

实现完成

  • Stack的C++实现
  • 10进制到任意进制的转换(未完全实现)
  • 括号匹配的检验 / 20090926
  • 行编辑程序(简易) / 20090926
  • List的C++实现(应用了template)
  • 稀疏矩阵的普通转置和快速转置(20091112)

章节学习

第2章 线性表

20091108:(2文件, 197行, 至31页) / 2.3 线性表的链式表示和实现

第3章 栈和队列

20090925:(4文件, 284行,至48页) / 3.1 栈; 3.2 栈的应用举例;

20090926:(2文件, 98行, 至50页)

第5章 数组和广义表

20091111:(1文件,73行, 至99页)

20091112:(2文件,137行, 至101页)

20091114:(1文件, 135行)

第6章 树和二叉树

20091201:(至140页)

行数统计

20091114

12文件,共924行.(增加1文件,135行)

20091112

11文件,共789行.(增加2文件,137行)

20091111

9文件,共652行.(增加1文件,73行)

20091108

8文件,共579行.(增加2文件,197行)

20090926

6文件,共382行.(增加2文件,98行)

20090925

4文件,共284行.(增加4文件,284行)

文章地址:http://meiyou.org/2009/09/data-structures-in-c/