adinxu
by adinxu
~1 分钟 阅读用时

分类

数据结构与算法(一)绪论

前言

这里说的数据结构和算法是c语言版的数据结构。
以前学东西总免不了只学理论,希望学数据结构时能多多实践。。
以我的理解,数据结构即数据的组织方式,也是问题模型–这与机器模型是不同的,机器模型是0和1组成的许许多多位的集合,而char、int、long甚至更为复杂的数据结构,则是人为赋予的定义–为了更好的与问题相对应,从而降低某种复杂度。c语言,以一堆数据结构的相互作用来解决问题。而c++则更进一步的完成了数据的组织,以更贴近问题模型的方式来组织数据,从而带来某些便利。


第一章基本就讲了下概念,然后分类,还有算法的复杂度衡量等,大体是一种整体的介绍吧,直接放整理的图:
在这里插入图片描述
编写一个程序,需要分析待处理对象的特性以及各处理对象之间存在的关系。数据结构就是一门研究非数值计算的程序设计问题中计算机的操作对象以及他们之前关系和操作的学科。
数据类型是一个值的集合和定义在这个值集上的一组操作的总称。
顺序存储结构即代表,数据在计算机中存储的方式是和数据的逻辑关系一致的:线性数据结构的数据是一个挨着一个,顺序表示的结构,在物理内存上存储时也是一个挨着一个的。
链式存储结构代表,数据在计算机中的存储方式和数据的逻辑关系不同:链式存储时,数据在物理内存上的分布也许是不连续的。
链式存储结构由于在物理内存上也许是不连续的,所以除了存储数据本身的信息外,还要存储一些额外的信息来记录对象间的对应关系,而在顺序存储结构中,对象间的对应关系已经隐含在连续排列的位置上了。
数据的逻辑结构和物理结构是密切相关的两个方面,任何一个算法的设计取决于选定的数据逻辑结构,而算法的实现依赖于采用的存储结构