数据结构与算法知识小结
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:数据结构与算法知识小结
作者:郑石秀
撰写时间:2020/5/18
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.数据结构与算法的概念知识小结:在项目开发中为了解决一些程序运行的问题,需要编写出高效率处理程序的代码。而参考数据结构与算法中的知识可以学习到如何合理地组织数据,建立合适的数据结构,设计较好的算法,更快地编写出更高效的程序来提高程序的执行效率。
2.数据结构的逻辑结构有以下三个结构:线性结构,数结构和图结构。
3.线性结构中的线性表有两种存储数据发方法,一种是顺序表的形式,一种是链表的形式。
4.顺序表分为插入元素和删除元素,顺序表元素插入特点是:元素按顺序存放,地址连续。比如a是顺序表里面的元素有1,2,3,在1的位置插入c元素。数组是从0开始的,1的位置就是顺序表中的2,将元素插入顺序表时,顺序表中的元素会从最后一个元素开始往后移,然后空出数组中为1的这个位置把c存储进来,这个就 顺序表的插入。
下面图片中的代码是顺序表插入的代码,图片中省略的是i这个位置插入的合理范围 。顺序表需要考虑的两个问题:第一个问题是如果元素是从前往后移,会冲掉后面的元素,那么后面的元素就没有了,找不回来了。第二个问题是顺序表需要空出这个位置来才能放进元素来,顺序表每一个元素都有它自己的位置
5.顺序表的删除:如果在顺序表中删除一个元素,这元素被删除后它的位置不是空着,而是在元素被删除后,后面的元素会往前移一格。
在顺序表中删除元素需要考虑的两个问题:
第一个问题是顺序表中的某个元素在被删除时需要备份该元素,否则删除后这个元素就永远没有了,以后就找不回来了,在删除元素时一定要将元素备份。
第二个问题是顺序表中的某个元素删除之后,后面发元素需要挨个往前移一格,这样才能保证地址连续存放的特点。
下面是顺序表删除的代码,在代码中i是它要删除的元素的位置,delete表示删除,listArray[i]是备份删除的元素。
注:以上知识小结大多参考数据结构和算法这门课程中的一些注解。