![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构的学习
maomimi11
这个作者很懒,什么都没留下…
展开
-
数据结构学习笔记1
从今天开始看数据结构。先初步了解了一下数据结构的含义。程序=数据结构+算法。数据结构包含简单型,即系统自带的,可以直接使用的结构。第二种是自己创建的,根据需要,创建成员,然后建立对象。由第二种而产生的就是要重载操作符,因为你所定义的数据结构应该能够进行一下计算,所以要重载,丰富结构的使用。线性表,是最常见的线性结构。内部是一个链表。基本接狗狗包含一个数组,和一个整形。数组用来存原创 2012-10-30 08:40:52 · 143 阅读 · 0 评论 -
线性表学习笔记
今天看了线性表及其实现。线性表:静态,链接存储结构。链接:单链表,循环,双链表,静态链表(用数组实现)。练习:编了一段程序:实现一元多项式的相加。主要是理解链表插入和删除的操作!插入:当前节点指针指向插入新节点,新节点指针指向当前节点后继节点,即可。删除:前节点指针指向当前节点后一个指针,删除当前节点。不要想得太复杂,主要是画出逻辑变化图,小方块,一原创 2012-10-31 22:36:41 · 170 阅读 · 0 评论 -
特殊线性表学习笔记
今天继续数据结构——特殊线性表。栈,队列,串。都是线性表的特殊实现,存储结构分为顺序存储和链表存储。区别是不同的操作要求,插入元素和删除元素的要求有所不同。但是,只要掌握了链表的正确使用,这些特殊实现也都可以理解。需要注意的是,提前想清楚操作需要的指针,以及每一步实现的步骤和先后顺序。最后,两个注意点:1. 摆脱直觉。这是书上写的,不要那么肯定自己的第一感觉和判断,要通过缜密的原创 2012-11-01 21:51:13 · 362 阅读 · 0 评论 -
编程练习3--括号匹配
早早起来编出来了括号匹配的问题。选择栈作为数据结构,如果是左括号就入栈,如果是右括号就检查栈顶是不是对应的左括号,是的话就出栈,不是的话就跳出,不匹配。程序代码:#include#includeusing std::stack;using std::string;using std::cin;using std::cout;using std::endl;原创 2012-11-04 09:18:04 · 402 阅读 · 0 评论 -
编程练习2
今天又编了一个小程序,将十进制数转换成2-9进制的任意数。吸取了昨天的经验,在编程之前先想清楚了实现转换的方法及步骤,最后考虑要用的的数据结构。想法是这样的:输入十进制数,输入要转换成n进制,用输入数除以n,保存商和余数。如果商不为零,那么就继续循环;如果已经是零,说明结束。每一步把余数存在一个vector中,最后倒序输出。程序如下:#include#includeusin原创 2012-11-03 22:12:42 · 186 阅读 · 0 评论 -
编程练习1
今天编程练习来着,本来很简单的一个程序,就是检测回文,想着编完了还可以编其他的练习一下,没想到,一个程序整了一个小时,还是结果不对。一直调试改正,但还是没得到正确结果。总结效率低的原因:没有掌握正确的调试程序的方法,不相信自己的理论知识。最后,终于明白在合适的地方添加测试语句,才能判断程序执行到哪一句,哪一句没有执行。目前还没有用到gcc的断点调试功能,程序复杂的话,还是得使用一下。原创 2012-11-02 22:28:35 · 196 阅读 · 0 评论 -
编程练习5——数独
今天看书学习了多维数组,还有广义表。多维数组可以看做是很多歌线性表的嵌套。也是矩阵。了解了 几种特殊矩阵的存储方法:对称阵,三角阵,对角阵。最后还有特殊的矩阵——稀疏矩阵,通过三元组来表示那些非零元素。可以用链接存储来保存,名字叫做十字链表。三元组加两个指针。广义表就是元素可以还是线性表,性质有表的长度和深度。最后练习了数独的解法。伪代码:1.首先将1放入第零行,中间的原创 2012-11-07 21:53:50 · 845 阅读 · 0 评论 -
数据结构学习笔记
今天学习了数据结构中的树形结构。树结点,根。衡量指标有度,层,深度,高度等。遍历一般有三种,前序,后序,层序。存储结构则根据需求不同有不同的存储结构,可以存储孩子结点。双亲结点。保存的就是相关元素的数组下标。重点学习二叉树,遍历程序,建立二叉树的过程。还有一种存储方式是线索链表,保存了更多相关内容。但是感觉虽然在看的过程中,明白了伪代码,而且程序也看懂了,但是却没有什么原创 2012-11-08 20:41:47 · 180 阅读 · 0 评论