![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 62
gtx1502
这个作者很懒,什么都没留下…
展开
-
数据结构(三)队列 Queue
1 队列模型1.1 定义队列(queue)是插入在一端进行而删除在另一端进行的表 先进先出(FIFO)表1.2 基本操作enqueue(入队):在队尾(rear)插入元素 dequeue(出队):删除队头(front)的元素1.3 特性以常数时间运行2 队列的实现...原创 2018-08-09 19:01:20 · 204 阅读 · 0 评论 -
数据结构(一)ArrayList & LinkedList
1. ArrayList VS LinkedList1.1 ArrayListList 的可增长数组实现优点:对 get 和 set 的调用花费常数时间缺点:插入和删除开销昂贵1.2 LinkedListList的双链表实现优点:插入和删除开销小(若变动项位置已知,花费常数时间)缺点:对 get 的调用开销昂贵2. ArrayList 的简单实现Arra...原创 2018-08-05 17:21:41 · 148 阅读 · 0 评论 -
数据结构(四) 二叉查找树
1 性质每个节点的儿子不超过 2 个对于树中每个节点 X,它的左子树中所有项的值都小于 X 中的项,右子树中所有项的值都大于 X 中的项平均深度为 O(logN),最大深度为 N - 12 实现...原创 2018-08-12 15:37:11 · 153 阅读 · 0 评论 -
数据结构(二)栈 Stack
1. 栈模型1.1 定义栈(stack)是限制插入和删除只能在一个位置上进行的表(list),该位置是表的末端,称为栈的顶(top)。1.2 基本操作push(进栈) :插入元素 注 pop(出栈):删除元素...原创 2018-08-07 16:47:03 · 203 阅读 · 0 评论 -
数据结构(五) AVL树
1 概念1.1 平衡任何节点深度均不得过深 1.2 AVL树每个节点的左子树和右子树高度最多差 1 的二叉查找树(空树高度定义为 -1) 带有平衡条件的二叉查找树2 旋转插入操作可能破坏平衡,需要通过旋转(rotation)进行修正 设需要重新平衡的节点为 t,t 的两棵子树高度差应该为 2(平衡时高度差 <= 1)2.1 单旋转对 t 的左儿子的...原创 2018-08-14 10:51:06 · 375 阅读 · 0 评论 -
数据结构(六)线段树
1 线段树1.1 什么是线段树线段树是一种二叉搜索树,它的每个节点保存一条线段(即数组的一段子数组)1.2 作用用于高效解决连续区间的动态查询问题1.3 特点时间复杂度为O(logN)未优化的空间复杂度为2N1.4 节点线段树的每个节点表示一个区间,子节点则分别表示父节点的左右半区间。例如父亲的区间是[ a , b ],那么 c = ( a + b ) /...原创 2018-08-27 20:51:33 · 205 阅读 · 0 评论