1、数据结构概论

|   版权声明:本文为博主原创文章,未经博主允许不得转载。

  数据结构在我学的这些计算机的知识中,我认为是最重要的。然而数据结构的课程学了才一个学期,就发现很多数据结构的东西就已经忘记了一部分。

这次通过写一套数据结构来复习一下数据结构,也方便以后查看。

首先,在概论这里我们的理清楚几个概念:

1. 数据(Data):数据其实是信息的一个载体,在计算机内部所有的信息(如:数字,图片,声音,字符等等)全部都是以二进制的数据的形式存在,

以二进制的形式被计算机所识别、存储和加工处理。

2. 数据元素(Data Element):数据元素其实就是一个数据的基本单位。其中一个数据元素可以由若干个数据项组成。打个比喻就是将一本数据结

构的书表示为一个数据结构,那么这本图书可以由ISBN号,作者,出版社,书名等数据项组成。

3. 数据结构(Data Structure):数据结构其实就是指的数据之间的相互关系,及数据的组织形式(比如:表状结构,树状结构等)。

>. 数据的逻辑结构:从数据逻辑关系上描述数据,分为线性结构和非线性结构。存储方法有四种:顺序存储,链式存储,索引存储和散列存储。

>. 数据的存储结构:数据的存储结构主要分为顺序存储结构和链式存储结构。两者的主要的区别在于它们数据的存储在计算机内部的单元是否连续

>. 线性结构:对于非空集合来说,除了开始的节点和结束的节点而言,它们两者之间的所有的节点全部都有且只有一个直接前趋和一个直接后继。

而开始节点和结束节点分别对应着一个直接后继,一个直接前趋。这类结构就是线性表的典型,其中栈、对立、串等都是线性结构。

>. 非线性结构:对于此结构的非空集合来说,非线性结构的一个结点可能有多个直接前趋和直接后继。其中树、图、数组和广义表是典型的非线性

结构。

4. 数据结构的四种基本存储方法

>. 顺序存储方法:该方法是将逻辑上相邻的节点存储在位置上相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。

>. 链接存储方法:该方法不要求逻辑上相邻的节点之间在存储单元的物理位置上亦相邻。在这种方法下,可以通过指针来实现结点之间的链接的关系

>. 索引存储方法:该方法在存储结点信息的同时,还建立了一份附加的索引表。索引表由若干索引项组成。若每个结点在索

引表中都有一个索引项,则该索引表称为稠密索引。若一组结点在索引表中只对应一个索引项,则该索引表称为稀疏索引。索引的一般

形式为:(关键字、地址)。其中关键字是能够唯一标识一个结点的那些数据项。稠密索引中索引项的地址指示结点所在的存储位置;

稀疏索引中索引项的地址指示一组结点的起始存储位置。

>. 散列存储方法:该方法的基本思想是:根据结点的关键字直接计算出该结点的存储地址,四种基本存储方法,既可单独使

用,也可组合起来对数据结构进行存储映像。同一逻辑结构采用不同的存储方法,可以得到不同的存储结构。选择何种存储结构来表示

相应的逻辑结构,视具体要求而定,主要考虑运算方便及算法的时空要求。

时间: 2024-10-17 13:35:32

1、数据结构概论的相关文章

第一章 数据结构概论

1.1  什么是数据结构 在数据结构中数据之间的关系主要有两种:线性关系和非线性关系(非线性关系又分为树形关系和图形关系). 如上图:每个数据单位(一条学生记录)相邻的前一个数据单位最多只能有一个(第一个没有),相邻的后一个数据单位最多只能有一个(最后一条没有).这种数据单位的集合成为数据集合,这种数据之间的关系成为线性关系(这种数据文件就是一个线性表). 我们的电脑硬盘中的目录文件结构,是一个树形结构(树形关系),这种即是非线性的: 多台电脑之间互相通信的多对多的关系,属于非线性关系中的图关系

数据结构概论

要求:1.掌握各类基本数据结构类型和相应的存储结构 2.提高阅读和编写算法的能力.3.能针对给定的问题,选择相适应的数据结构,并能够设计和分析算法 数句结构的主要内容: 杂乱的数据是不能表达和交流信息的,数据之间是有联系的,这些联系常常就是影响算法的选择和效率 数据结构就是要研究数据之间的这种联系 数据之间的联系是内在的,反应在外面的就是结构 比如这种一个人对应一个电话号码,这种结构就叫线性结构,比如这种联系是一对多的联系.这种结构就叫树形结构.还有一种结构就是在离散数学中见到的图状和网状的结构

数据结构-概论

判断题 1.用渐进表示法分析算法复杂度的增长趋势. T      F 2.N2/1000是O(N)的. T      F 3.将长度分别为m,n的两个单链表合并为一个单链表的时间复杂度为O(m+n). T      F 4.对于某些算法,随着问题规模的扩大,所花的时间不一定单调增加. T      F 5.用渐进表示法分析算法复杂度的增长趋势. T      F 6.N2logN和NlogN2具有相同的增长速度. T      F 7.(logN)2是O(N)的. T      F 8.算法分析

02331_数据结构_第1章_概论

算法: 通俗定义: 解题的方法和步骤. 狭义定义: 对存储数据的操作. 广义定义: 无论数据是如何存储的,对该数据的操作都是一样的. 我们至少可以通过两种结构来存储数据 数组 链表

数据库系统概论学习笔记(一)

时间:第一周     年级:大三    学生:南通大学网络工程何季生 2017.9.14 一.绪论 1.1数据库系统概述 1.数据 描述事物的符号记录称为数据.数据的含义称为数据的语义,数据与其语义是不可分的.例如93是一个数据,他可以是一位同学的成绩,也可以是他的体重,还可能是一个班的人数. 2.数据库 数据库顾名思义就是存放数据的仓库.严格来讲,数据是长期储存在计算机内,有组织的,可共享的大量数据的集合.数据库中的数据按一定的数据模型组织.描述和储存,具有较小的亢余度(redundancy)

软件工程概论个人总结

转眼又到了一个学期的末尾,在这里简单的对软件工程概论这门课进行一下总结吧.说实话,刚开始真是不知道这门课要讲些什么,总之会讲一些软件工程方面的知识吧.然而随着一次次的上课,一次次的任务,我才终于明白了这门课要我们做些什么. 这门就像老师所讲的是以“做中学”为主要的理念,主要强调让我们在自己开发软件的过程中去学习知识和技能.刚开始的几周,觉得这种方法是很好的,的确能学到不少的知识.然而这只是一个简单的开始,当二柱子的四则运算一次比一次复杂,当我们组成团队,需要在很短的时间内进行冲刺,完成自己的项目

Chapter 1 概论

其实就按着这第一章看下来,即便也有圈圈画画写写,但第一遍我觉得看的很乱,感觉都是一些的概念.然后我就重新又看了一遍.第一章的名字说的是概论,我觉得诚如其名,第一章就大体的给我们概括了一下软件工程是什么,干什么,以及围绕它展开的一系列工作.名词.以及一些细枝末节. 1.一些基本概念: 程序=数据结构+算法   软件=程序+软件工程=数据结构+算法+软件工程   软件企业=软件+商业模式=数据结构+算法+软件工程+商业模式 数据结构:我感觉就是数据的构成方法,eg.二叉树.链表.堆栈等   算法:我

14.查找概论与顺序查找

一.查找概论 1.查找:即根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或纪录).若表中不存在关键字等于给定值的纪录,则称查找不成功,此时查找的结果可给出一个"空"纪录或"空"指针.另外,查找表按照操作方式来分有两大种:静态查找表和动态查找表. (1)查找表(Search table):是由同一类型的数据元素(或纪录)构成的集合: (2)关键字(Key):是数据元素中某个数据项的值,又称为键值,用它可以标志一个数据元素,也可以标志一个纪录的某个数

软件工程概论课个人总结

在这一学期经历了16周的软件工程概论课程的学习,我学习到了很多知识,收获了很多,大二我们进入软件工程专业,对软件工程专业和所要学习的知识和方向还不了解,软件工程概论课向我们讲解了软件工程的基本概念和软件开发这项工程的开发流程以及开发中的一些问题,使我们了解了软件的开发的方式,开发的流程,使我们建立了开发软件这项工程的基本框架,我从中收获了很多知识,构建了软件开发的基本思维. 通过软件工程概论课我基本了解了程序的概念,程序=算法+数据结构,软件=程序+软件工程,软件工程需要通过需求分析.设计.编码