数据结构 清华大学版
私藏c语言版本的数据结构800多页,好东西哦。本人找了好久才找到的.计算机求解问题的一般步骤囻编写解决实际问题的程序的一般过程:如何用数据形式描述问题?—即由问题抽象出一个适当的数学模型;问题所涉及的数据量大小及数据之间的关系;如何在计算机中存储数据及体现数据之间的关系?处理问题时需要对数据作何种运算?所编写的程序的性能是否良好?上面所列举的问题基本上由数据结构这门课程来回答。11数据结构及其概念。囤《算法与数据结构》是计算机科学中的一门综合性专业基础课。是介于数学、计算机硬件、计算机软件三者之间的一门核心课程,不仅是一般程序设计的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序和大型应用程序的重要基础。1.1.1数据结构的例子例1:电话号码查询系统设有一个电话号码薄,它记录了N个人的名字和其相应的电话号码,假定按如下形式安排:(a1,b1),(a2b2),…(an,bn),其中a;,b(i=1,2….m)分别表示某人的名字和电话号码。本问题是一种典型的表格问题。如表1-1,数据与数据成简单的一对一的线性关系姓名电话号码陈海13612345588李四锋13056112345表1-1线性表结构日本地磁盘(C)ba例2:磁盘目录文件系统口 Documents and SettingsAdministrator白 All Users磁盘根目录下有很多子目录及文件,每个子目录里又可以包++:国「开始」菜单Application DataDocumentsFavorites含多个子目录及文件,但每个子a Templates桌面目录只有一个父目录,依此类推+l-0 Default User由白WhalerB-Einet□ Admin Scripts□ fprom本问题是一种典型的树型结+samples+mailroom构问题,如图1-1,数据与数据ScriptsWeEpwwwroot成一对多的关系,是一种典型的KA92003中 My Documents非线性关系结构一树形结构。□ powerpoint由□ Program Files□temp口 WINDOW54- WINN中□毕业图11树形结构例3:交通网络图从一个地方到另外一个地方可以有多条路径。本问题是一种典型的网状结构问题,数据与数据成多对多的关系,是一种非线性关系结构。广州佛惠东中山深圳珠海图1-2网状结构1.12基本概念和术语数据(Data):是客观事物的符号表示。在计算机科学中指的是所有能输入到计算机中并被计算机程序处理的符号的总称。数据元素( Data element):是数据的基本单位,在程序中通常作为一个整体来进行考虑和处理个数据元素可由若干个数据项 Data item)组成。数据项是数据的不可分割的最小单位。数据项是对客观事物某一方面特性的数据描述。数据对象 Data Object):是性质相同的数据元素的集合,是数据的一个子集。如字符集合c={A’,B',C,}数据结构 DData Structure):是指相互之间具有(存(E)一定联系(关系)的数据元素的集合。元素之间的相互联系(关系)称为逻辑结构。数据元素之间的逻辑结构有四种基本类型,如图1-3所示。①集合:结构中的数据元素除了“同属于一个集合”外,没有其它关系。②线性结构:结构中的数据元素之间存在一对一的关系③树型结构:结构中的数据元素之间存在一对多的关系。④图状结构或网状结构:结构中的数据元素之间存在多对多的关系。○图1-3四类基本结构图1.13数据结构的形式定义数据结构的形式定义是一个二元组:Data-Structure=(D, S)其中:D是数据元素的有限集,S是D上关系的有限集。例2:设数据逻辑结构B=(K,R)K={k1,k23…,kg}R={,,,,,≤k5,k6,,,,}画出这逻辑结构的图示,并确定那些是起点,那些是终点
用户评论