回顾一下数据结构线性表
来源:互联网 发布:好用的数据采集器软件 编辑:程序博客网 时间:2024/06/05 03:42
今天回顾了一下数据结构中的顺序表和链表,用C实现,不得不说C这种面向过程的语言在学习数据结构的时候具有得天独厚的优势,通过指针,可以很清楚的知道链表的连接方式。
因为有一段时间没有写C的东西了,数组怎么传参数都忘了,真是罪过。复习了一下,在编写程序的过程中,反思了一下,现在总结如下。
1》顺序表
顺序表说白了就是数组,是指用一组地址连续的存储单元依次存储数据元素的线性结构,因为在内存中一次开辟足够的地址空间,所以在初始化的时候,没有办法确定会不会有空间的浪费,因此这是一种浪费空间换取时间的存储模式,因为按照数组的存储方式,只要知道下标就可方便快速的查找到数据,时间复杂度为O(1)。另外在传参过程中,如果在主函数定义了顺序表,将指向顺序表的头指针传递进函数,在函数内的数据操作还是基于数组类型的操作,即通过下标进行数值的改变。并且无需返回,在函数中改变的数值会在顺序表中作出相应的改变。在使用过程中,就发现了这几个特点,可能写的程序较简单,所以还有些特质没发现吧。
2》链表
链表就有意思多了,在数据存储方面,他能充分解释见缝插针这个词语,也就是说对于内存中,如果有足够的空间可以开辟一个节点,那他就有可能在这里占用一个节点的空间,上下相连全靠指针域。每个节点都包括两部分,一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。在使用的过程中,我发现链表的插入非常简单,由于是非线性存储,在插入的过程中只要使插入位置的前驱节点指向当前插入的节点,使插入的节点指向当前插入位置的原节点,就好比说在插队的过程中,插入的节点作为当前插入位置节点的女朋友插入进队伍,但是并不用让后面的人依次往后退,可能她只是在旁边看着自己男朋友排队而已,在使用的时候她才上去说:“哎呀,我在这呢。”好吧,可能比喻不太恰当,但是我就是这样理解的,在此时插入的时间复杂度就是O(1),不像上述顺序表那样在插入后还要赶人,那么麻烦。
基本总结如上,么么哒(づ ̄ 3 ̄)づ
- 回顾一下数据结构线性表
- 线性表-感觉一下
- 【数据结构】回顾表ADT
- 数据结构拾遗---线性表
- 整理--数据结构--线性表
- 数据结构(线性表)
- 整理--数据结构--线性表
- 数据结构--顺序线性表
- 数据结构之线性表
- 数据结构-线性链表
- 数据结构-线性表
- 复习 [数据结构] ---- 线性表
- 数据结构---线性表
- 数据结构复习-线性表
- 数据结构之线性表
- 数据结构之线性表
- 线性链表---数据结构
- 数据结构—线性表
- IOS-自动检测iOS网络并可跳转至设置界面设置网络
- ODBC操作Excel
- 引用
- Servlet自学第2讲:编写一个简单的web服务器
- C++中取整注意
- 回顾一下数据结构线性表
- C#调用C++Dll封装时遇到的一系列问题
- 粗对准,传统和升级版本
- 《变电站综合自动化原理及应用》读书摘抄-第一章
- 【JNI】Find 'jni.h' for MacOS
- 套接字
- 用了不到一个星期,发布了windows应用,一句一唱
- 疯狂Java之学习笔记(29)-----------static
- Logger LOG = LoggerFactory.getLogger()