数据结构+算法

1.符号

O ≤      Ω ≥     θ =     o <


2.最大子序列和(4种算法)+折半查找【判断一个已排序好的集合中是否存在该元素】+欧几里算法【gcd(50,15)求两数的最大公倍数】+幂运算


3.抽象数据类型(ADT)

添加,删除、包含等操作。

Ai-1是Ai的前驱,Ai是Ai-1的后继。

(1) 链表

next链,最后一个单元的next链引用null


(2) Collection API中的表
①  Iterator接口
List接口

③ ArrayList接口中的搜索、删除操作开销较大。


(3)【先进后出表】

表的末端为top

对空栈进行pop(出栈)或者top被认为是栈ADT中的一个错误。当运行push(进栈)时,空间用尽是一个实现限制,但不是ADT错误。

后缀记法

6 5 2 3 + 8 * + 3 + *

意义是:3+2再*8,再+5,再+3,再*6


(4)队列(queque)


二 树(文件系统等)

对于大量的输入数据,链表的线性访问时间太慢,不宜使用。

一棵树是一些节点的集合。无儿子的节点称为树叶。具有相同父亲的节点成为兄弟,祖父、孙子的概念也由此可以推导出来。

路径的长是指路径上边的条数。根的深度为0,ni的高是从ni到一片树叶的最长路径的长。

具有n个节点的需要n+1个null链。

(1)表达式树

树叶是操作数,节点是操作符。

中序遍历(先左子树,再根处运算符,再右子树)、后序遍历(先左子树、右子树,再操作符)、先序遍历(不常用)。

(2)二叉查找树(特殊的二叉树,根的左子树小于节点,右子树大于节点)

remove方法中,懒惰删除意为:但一个元素要被删除时,它仍留在树中,而只是被标记删除。

(3)AVL树(带有平衡条件的二叉查找树)

(4)伸展树

(5)散列(hash table)

hash table无法进行排序相关的操作。


三 优先队列(堆)

二叉堆:具有结构性+堆序性

完全二叉树:堆是完全被填满的二叉树。

父亲中的关键字≤儿子中的关键字才是二叉堆。

附加:数据结构基础     


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值