关于数据结构章节的一些笔记(一)

数据结构由 逻辑结构、存储结构、基本操作 三方面构成。

一、逻辑结构:用来描述数据结点之间的逻辑关系

                    数据结点:就是基本的数据类型或者复杂的数据类型

     逻辑结构主要分为:

        a.线性结构(Linear Structure)

            特点:每个结点在线性关系(也叫前驱关系)上最多只有一个前驱结点和一个后继结点

                            ps:最多只有一个,三种情况:只有前驱、只有后继、有一个前驱也有一个后继

        b.树形结构(Tree Structure)

           起始位置(只有后继结点)的结点叫Root,末梢(只有前驱结点)的结点叫Leaf。这种结构里的关系叫层次关系。

            特点:除了root和leaf的其他结点只有一个前驱结点,但可以有很多后继结点。

        c.图结构(Graph Structure)

           没有什么约束的复杂网状结构

二、储存结构:一套逻辑结构在计算机中物理结构的映射。(怎么把你的逻辑关系储存在计算机中

       常用的四种方法:

      1.顺序储存:如数组的储存方法,存放数据的地址相连,而逻辑关系就是存储单元间的自然关系。

      2.链接储存:如链表的储存方法,要求每一个结点占用一片连续的存储区域,这片区域又分为数据域和指针域,数据域顾名思义就是存储数据,指针域存放指向前驱或者后继结点的指针(单链表就只有后继指针,双链表都有),当然,一个结点的指针域也可以有多个的指针指向多个后继结点。

     3.索引储存:除了数据对象,还要建立一个索引表,让数据对象中的每一个数据元素都有唯一的关键字来进行标识,再由该关键字和对应的数据元素的地址构成一个索引项,存入索引表。

     4.散列(哈希)储存:是对索引储存的扩展。主要思想是用结点的关键码来确定该结点的储存地址。如何来确定呢?就需要用设计好的散列函数(Hash Function)的关系使关键码映射到存储空间的地址,再把结点存入存储单元中。

一些理解上注意的点:

1.在链式储存结构中,每个结点有多少个后继就有多少个指针?

 错,这里容易被忽略了指向前驱结点的指针

2.关于存储密度

存储密度=数据占用的空间 / 整个结构占用的空间 ,所以链式储存因要储存指针所以其存储密度要小于顺序存储。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值