上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页
摘要: 二叉查找树 性质:比父节点小的key都出现在左子树,比父 节点大的key都出现在右子树。 ❖按照70,31,93,94,14,23,73的顺序插入 ❖首先插入的70成为树根 31比70小, 放到左子节点 93比70大, 放到右子节点 94比93大, 放到右子节点 14比31小, 放到左子节点 23比 阅读全文
posted @ 2020-07-29 21:21 Yelush 阅读(132) 评论(0) 推荐(0)
摘要: 优先队列Priority Queue 性质:队首出队。高优先级的数据项在队首,而低优先级的数据项则排在后面。 实现优先队列额经典方案是二叉堆数据结构。二叉堆能够优先将队列的入队和出队复杂度都保持在O(log n) 二叉堆Binary Heap实现优先队列 BinaryHeap():创建一个空二叉堆对 阅读全文
posted @ 2020-07-29 19:02 Yelush 阅读(263) 评论(0) 推荐(0)
摘要: 题目描述 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2]输出:[2,3,1] 限制: 0 <= 链表长度 <= 10000 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/co 阅读全文
posted @ 2020-07-28 20:37 Yelush 阅读(102) 评论(0) 推荐(0)
摘要: 树的应用:表达式解析 解析全括号表达式:(3+(4*5)) 创建过程: 创建空树,当前节点为根节点 读入'(',创建了左子节点,当前节点下降 读入'3',当前节点设置为3,上升到父节点 读入'+',当前节点设置为+,创建右子节点,当前节点下降。 读入'(',创建左子节点,当前节点下降 读入'4',当 阅读全文
posted @ 2020-07-26 10:18 Yelush 阅读(1748) 评论(0) 推荐(0)
摘要: 树 树是一种基本的“非线性”数据结构。基本术语 节点Node 边Edge 度:结点拥有的子树数目,如上图结点A的度为3,结点E的度为0 树的度:各个结点中度的最大值 根Root:树中唯一一个没有入边的节点 路径Path:由边依次连接在一起的节点有序表 子节点Children:入边均来自同一个节点的若 阅读全文
posted @ 2020-07-24 14:48 Yelush 阅读(414) 评论(0) 推荐(0)
摘要: 抽象数据类型“映射”:ADT Map(映射Map) ADT Map 操作定义: Map():创建一个空映射,返回空映射对象; put(key, val):将key-val关联对加入映射中 ,如果key已存在,将val替换旧关联值; get(key):给定key,返回关联的数据值,如不 存在,则返回N 阅读全文
posted @ 2020-07-23 22:56 Yelush 阅读(286) 评论(0) 推荐(0)
摘要: 散列Hashing 散列是一种数据结构。由数据项的值来确定存放的位置。 散列表(哈希表)是一种数据集。散列的每一个存储位置称为一个槽,可用于存储数据,每个槽拥有唯一的名称。 散列函数:最简单的求余:h(item) = item % 11 按照散列函数h(item)为每个数据项计算存放的位置后,就可以 阅读全文
posted @ 2020-07-23 22:01 Yelush 阅读(690) 评论(0) 推荐(0)
摘要: 快速排序 思想:依据一个中值数据项,把数据表分成两半:小于中值的一半和大于中值的一半,然后把每部分分别进行快速排序(递归)。 其中递归条件: 基本结束条件:数据表仅有一个数据项 缩小规模:根据中值,将数据表分为两半,最好的情况是相等规模的两半 调用自身:将两半分别调用自身进行排序(排序基本操作在分裂 阅读全文
posted @ 2020-07-23 20:55 Yelush 阅读(282) 评论(0) 推荐(0)
摘要: 归并排序 算法处理思路:将数据表持续分裂成两半,对两半分别进行归并排序。可以用递归的思想解决。 其中,递归结束的基本条件是数据表仅有1个数据项。 缩小规模:将数据表持续分裂为相等的两半,规模减小为原来的1/2. 调用自身:将两半分别调用自身排序,然后将分别排好序的两半进行归并,得到排好序的数据表。 阅读全文
posted @ 2020-07-23 16:40 Yelush 阅读(156) 评论(0) 推荐(0)
摘要: 谢尔排序 以插入排序作为基础,插入排序在最好 情况为O(n),这种情况发生在列表已经是有序的情况下,实际上,列表越接近有序表,插入排序的比对次数越少。 因此,谢尔排序则将插入排序分为固定间隔的很多子列表,每个子列表都进行插入排序。 一般子列表的间隔从n/2开始。 谢尔排序的实质是带间隔的插入排序。 阅读全文
posted @ 2020-07-23 15:37 Yelush 阅读(286) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页