简单的数据结构(总结)只涉及用数组或链表实现
来源:互联网 发布:网络销售模式有哪些 编辑:程序博客网 时间:2024/06/13 17:47
1、队列 用数组就可以实现
头指针 front,尾指针 rear
一般的队列只能从队首删去元素,队尾添加元素。
扩展:
(1)双端队列
队首队尾均可添加或删去元素。
(2)循环队列
头尾指针可以循环,front == rear时队空,front == rear+1时队满。
大小为n的数组只能存放有n-1个元素的队列。
2、栈 用数组就可以实现
只可以从栈顶添加或删去元素。
3、堆(也叫快速队列)是完全二叉树
分为最大堆和最小堆,以最小堆为例,父亲节点总是小于它的两个儿子节点,且最好把这两个兄弟节点里小的一个放在左儿子节点。
堆一般用来找一组数的最大值或最小值,其余值基本不用考虑。
用数组实现堆:若a[n]存父亲节点,则a[2*n+1]存左二子、a[2*n+2]存右儿子。
/*堆支持的基本操作
build: 建立一个空堆。
insert: 向堆中插入一个新元素。
update:将新元素提升使其符合堆的性质。
get:获取当前堆顶元素的值。
delete:删除堆顶元素。
heapify:使删除堆顶元素的堆再次成为堆。*/
4、未完待续
阅读全文
0 0
- 简单的数据结构(总结)只涉及用数组或链表实现
- 数据结构(java语言描述)-- 表的简单数组实现
- 数据结构与算法分析笔记与总结(java实现)--数组10:数组中只出现一次的数字
- 1.数据结构(C语言)---自定义数组的简单实现
- 简单数据结构-数组实现线性表
- 《操作系统原理》课程中涉及的数据结构总结
- 简单数据结构---数组实现栈
- 数据结构-约瑟夫环的简单实现(循环链表)
- 实现算法2.15、2.16的程序(一个数组只生成一个静态链表)
- 实现算法2.15、2.16的程序(一个数组只生成一个静态链表)
- 用异或实现查找只出现一次的数字
- 创建数组或字典的简单方法:用@[]或@{}
- 访问一个网站涉及的网络协议简单总结
- 数据结构----数组队列和链表的总结和心得
- 【数据结构之线性表顺序存储】简单的数组的方式实现
- 数组链表的简单实现
- mysql mysqldump只导出表结构或只导出数据的实现方法
- mysql mysqldump只导出表结构或只导出数据的实现方法
- 利用AJAX后台查询数据库返回json,前台生成表格
- 物理层的功能与特性
- MNIST(二):基于CNN的mnist识别
- n个字符全排列
- ubuntu添加环境变量
- 简单的数据结构(总结)只涉及用数组或链表实现
- CAFFE学习笔记(五)用caffe跑自己的jpg数据
- html拾遗第3天,history
- 【Java】Enum实践
- PID算法的简单C语言实现
- 立即执行函数
- Office CVE-2017-11882本地复现
- [基础题]4、设计一个家政服务规范: 洗衣服, 扫地, 买菜, 做饭
- 微服务开发之Springboot入门