首页 > 代码库 > 数据结构概述<1>

数据结构概述<1>

一 数据结构的定义

    在严蔚敏老师的《数据结构》一书中,是这么定义数据结构的:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。在很多实际问题中,数据元素并非孤立存在,而是在它们之间存在着某种关系,这种数据元素相互之间的关系称为结构。根据数据元素之间关系的不同特性,通常分为4类,分别为集合、线性结构、树形结构和图状结构。



二 动态集合

    在《算法导论》一书里,将所有的数据结构描述为动态集合。即我们使用所有的这些数据结构,都是为了对集合中的元素进行一些简单或者复杂的操作,比如查找、插入、删除等等,从而能有效地对一些数据进行很好的管理。任何具体的应用通常只需要几种操作就能实现所有想要实现的功能。

(1)查找  即在集合中找到一个特定的元素。

(2)插入  将某一个数据加入到集合中

(3)删除  将某一特定的数据从集合中删除

(4)最小值  查找集合中的最小元素,并且一般会返回指向该元素的指针

(5)最大值  查找集合中的最大元素,并且一般会返回指向该元素的指针

(6)后继  查找集合中比指定元素大的下一个元素,并返回指向该元素的指针。如果该指定元素为最大值,则返回空。

(7)前驱  查找集合中比指定元素小的前一个元素,并返回指向该元素的指针。如果该指定元素为最小值,则返回空。

在实际应用中,通常只需要其中的某几个功能即可。


个人认为,一个算法的好坏往往决定了一个程序的质量,而算法又往往需要通过数据结构来实现,因此,掌握一些常用的数据结构,是十分有必要的。


接下来我会介绍栈、队列、链表、散列表、二叉搜索树、红黑树等。内容主要涉及概念、C语言实现以及一些简单的应用,后面会陆续更新的。

数据结构概述<1>