浅谈学习数据结构-------顺序表的感受

1.声明:这篇博客只是记录自己的学习感想,无任何知识层面的内容呦~~

2.顺序表是线性表的一种,链表也是线性表的一种,我应该是4月份就接触了顺序表,但是因为这个学习顺序的原因,以及这个学校老师的进度,所以这个学习的节奏不是很连贯,之前是懵懵懂懂,似懂非懂的学习着,发现学到了链表的后半部分之后,真的跟不下去了,所以决定重头在学习一下这个顺序表;

3.我在刚开始学习顺序表的时候,真的感觉这个顺序表好难,我记得自己当时就学习了好几遍,又因为这个通讯录项目的实现是在顺序表的基础上面进行的,因此我当时不得不多学几遍,但是依然感觉很困难,现在回头看看,感觉真的是不一样的,现在已经能够自己独立实现这个顺序表的一些功能了,这个数据的删除,头部插入,尾部插入等等,对于这个顺序表有了更进一步的理解;

4.然后又写了两道题目,一道是这个删除顺序表里面的指定元素,一个就是这个两个顺序表的有序合并,这两个题目当时自己也是看了好几遍,现在再看的时候,依旧是不会的,这个就说明自己第一遍的学习还是存在很大的问题的,其实现在再看的时候,这个第一道就是判断这个元素是否是我们想要删除的数据,是的话就不动,定义两个变量,就相当于是两个数组的下标,如果是我们要删除的数据的时候,就会直接跳过,不是我们想要删除的数据的时候,就会让这个数据向前面移动,这个样的话既排列了这个数组,也让我们想要删除的数据给删除掉了,其实这个实现起来还是挺简单的,但是当我二刷看到他的时候依旧不会,可能我是在背代码吧,以后还是要尝试理解老师的思路方法,其实我感觉自己还是在尝试理解的;

其实在自己个人看来,写博客也是为了防止自己背代码,也是让这个思路方法顺一遍,因为在我写博客的过程中,当我不知道如何想到这一点的时候,就回去反复地看回放,即使我的文章没有人读,我也不会说在某个地方糊弄过去的,这个也是相当于自己吧老师的思路再复盘了一下吧;

第二道题目在我个人看来稍微有一些难度,我对于这个方法稍微有一些印象,就是定义了三个指针,控制他们的移动,让第一个指针和第二个指针分别指向两个数组有元素的位置最后,第三个指针指向的就是这个第一个数组没有元素的最后的位置,然后开始遍历,把这个比较之后大的元素向这个l3指向的位置防止,依次进行但是需要最后注意的就是这个看看是不是l2这个数组先遍历完成的,如果是l1先结束,这个时候就要把这个第二个数组里面的元素给原封不动的挪动过去,因为题目要求这个所有的数组元素最后都要在这个l1数组里的;

5.其实现在想想看来这个顺序表这个问题好像就是这个细节的地方比较多,真的像老师说的那样,当你实现第一个功能的时候考虑到所有的坑点,这个顺序表后续的实现就会比较容易了,像这个数据在挪动的时候因为需要设置为循环语句,我就已经开始尝试改变这个循环变量,尝试自己去实现,因为这个挪动的时候,可以写成这个i=i+1;也可以写做这个i=i-1,在这两种情况下面这个循环条件的控制语句是不一样的,我开始尝试和老师不同的写法进行测试,这个感觉还是挺好的,而且这样能够更好的加强我们对于这个功能的理解;

6.顺序表其实也能会有很多问题,但是并不代表这个数据结构毫无优势,只能说这个顺序表和链表在处理不同问题上面的简洁性有所区别,例如最直接的就是,顺序表的线性结构对于我们的这个数据的删除可能并友好,但是这个数据的遍历同样是这个链表无法比拟的,只能说各有所长吧,好了,对于这个顺序表就写到这里吧,我们下期再见。

相关推荐
2401_858286111 个月前
82.【C语言】数据结构之顺序表的初始化和销毁
c语言·数据结构·链表·顺序表
TT-Kun2 个月前
数据结构 | 深入理解顺序表与链表
数据结构·链表·顺序表
zhoupenghui1683 个月前
数据结构-线性表
数据结构·链表·顺序表··队列
画凉ZL4 个月前
数据结构——顺序表
c语言·数据结构·笔记·算法·顺序表
GGBondlctrl4 个月前
【数据结构】顺序表
数据结构·顺序表
Trouvaille ~4 个月前
【初阶数据结构篇】顺序表的实现(赋源码)
c语言·数据结构·顺序表
Trouvaille ~4 个月前
【初阶数据结构篇】顺序表和链表算法题
数据结构·算法·链表·顺序表
謓泽4 个月前
【数据结构】线性表与顺序表
数据结构·链表·顺序表
皮不卡球秋4 个月前
数据结构:顺序表+链表
java·数据结构·链表·顺序表
不穿格子衬衫5 个月前
(超详细)数据结构——“栈”的深度解析
c语言·数据结构·visualstudio·顺序表··动态内存