数据结构与算法(二)

线性结构

什么是线性表?

线性表由同类型元素构成的有序序列的线性结构  数组是一种线性表

表中元素的个数被成为线性表的长度

线性表的基本操作

1. 初始化一个空线性表

2. 根据位序 K ,返回相应的元素

3. 在线性表中,查找X第一次出现的位置

4. 在位序 i 之前插入新元素 X

5. 删除指定位序i的元素

6. 返回线性表的长度

线性表的链式存储实现  不要求逻辑上相邻的两个元素物理上也相邻,通过链建立起元素之间的逻辑关系

什么是树?

树状结构

树表示客观世界中许多事物存在的层次关系,树能使分层次组织在管理上具有更高效率

查找:根据某个给定的关键字,从集合中找出与关键字相同的记录

静态查找--只有查找 (循环一般包括初始条件;循环条件;自加/自减)

       顺序查找 按照顺序查找

       二分查找 先查找中间数,与给定的关键字对比,缩小范围,再查找中间数..

       mid=(left+right)/2 或者 mid=(left+right+1)/2,小于 left=mid+1 比较,大于 right=mid-1 比较

动态查找--除了查找,还可能有插入和删除 ,比如二叉搜索树

1-11中查找

6、3、9为根(特殊节点)

树的子树不相交

每个结点有且只有一个父节点

树的深度为 log2N+1  (以2为底的对数) N 为总数 运算结果为小数时向下取整

 儿子-兄弟表示法     HTML的元素结构就是用到这种方法

二叉树(BinTree)

二叉树可以为空,可以不为空,若不为空,它是由根节点和左子树、右子树两个不相交的二叉树组成

特殊二叉树

二叉树常用的操作有

1. 创建一个二叉树

2. 判断二叉树是否为空

3. 遍历二叉树

二叉树的重要性质

k 层最大结点数为  2^(k-1)

深度为 i 的最大总结点数为 2^i-1

非空二叉树 n0=n2+1

总边数由下至上  n0+n1+n2-1 = 0*n0+1*n1+2*n2 总边数由上至下 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值