2. 数据元素之间的关系在计算机中有几种表示方法?各有什么特点? 四种表示方法 (1)顺序存储方式。数据元素顺序存放,每个存储结点只含一个元素。存储位置反映数据元素间的逻辑关系。存储密度大,但有些操作(如插入、删除)效率较差。 (2)链式存储方式。每个存储结点除包含数据元素信息外还包含一组(至少一个 ...
分类:
其他好文 时间:
2020-05-22 09:24:15
阅读次数:
316
class Solution { public: void preorderTraversal(TreeNode* root) { //1.先逐个访问左路结点,并将其入栈 //2.再访问栈顶元素的右子树 stack<TreeNode*> helper; TreeNode* cur=root; //只 ...
分类:
其他好文 时间:
2020-05-22 00:09:07
阅读次数:
59
数据结构第五章学习小结 5.1-5.4 5.1 树和二叉树的定义 5.1.1 树的定义 树是n个结点的有限集,它或为空树,或为非空树 对于非空树T: (1)有且仅有一个称之为根的结点; (2)除根结点以外的其余结点可分为 m个互不相交的有限集 T1, T2 , …,Tm,其中每一个集合本身又是一棵树 ...
分类:
其他好文 时间:
2020-05-22 00:01:17
阅读次数:
56
题目描述 给定一个长度为 $n$ 的字符串 $P$,有 $m$ 次询问,每次给定两个参数 $l$ , $r$,询问子串 $P[l,r]$ 所构成的后缀树的结点数。 $n\le 10^5,m\le 3\times 10^5$ 题解 tag:分类计数;后缀树/后缀自动机;线段树/树状数组;哈希。 做法来 ...
分类:
其他好文 时间:
2020-05-21 23:55:09
阅读次数:
94
package com.xd.leetcode.shu; /** * created by lianzhen on 2020-03-10 10:27. describe:平衡二叉树的构建 * * LL:插入的结点在左子树的左边导致失衡:右旋(顺时针旋转) * RR: 插入的结点在右子树的右边导致失衡 ...
分类:
其他好文 时间:
2020-05-21 23:47:40
阅读次数:
97
思路: 给出二叉树的先序和中序遍历 要求求出后序遍历 我们知道根据先序遍历和另外一种遍历我们 可以建立以可二叉树,但是应该存在一种更简单的 办法使得不用建树也能够成功得到序列 首先我们都知道: 1. 先序遍历的第一个结点一定是根节点 2. 后序遍历的最后一个结点一定是根节点 我们只需要在中序遍历中找 ...
分类:
其他好文 时间:
2020-05-21 19:36:07
阅读次数:
43
二叉堆是一种特殊的堆,二叉堆是完全二元树(二叉树)或者是近似完全二元树(二叉树)。 二叉堆有两种:最大堆和最小堆。 最大堆:父结点的键值总是大于或等于任何一个子节点的键值。 最小堆:父结点的键值总是小于或等于任何一个子节点的键值。 下面举例子来看看一个二叉堆插入数据的例子(最小堆,即queue里面的 ...
分类:
编程语言 时间:
2020-05-21 14:39:00
阅读次数:
49
[TOC] 1. 前置知识 1.1 InnoDB 索引结构 InnoDB 索引使用的数据结构是 "B+ 树" 。 百度百科中的结构图: 一个 m 阶 树的几个特点: 1. 每个节点可能有最多 m 个子节点 2. 除根结点外,每个结点至少有 个子女,根结点至少有两个子女 3. 有 k 个子女的结点必有 ...
分类:
数据库 时间:
2020-05-20 14:02:13
阅读次数:
143
给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 设置快慢指针,都从链表头出发,快指针每次走两步,慢指针一次走一步,假如有环,一定相遇于环中某点。接着让两个指针分别从相遇点和链表头出发,两者都改为每次走一步,最终相遇于环入口。 证明: 快指针路程=a+(b+c)k+b ,k ...
分类:
其他好文 时间:
2020-05-19 22:18:18
阅读次数:
53
Dijkstra算法 (gif来源: "戴克斯特拉算法 维基百科" ) 计算 正权图 上的单源最短路,同时适用于有向图与无向图 ①给源点标记$d[0]=0$,其他$d[i]=INF$ ②循环:每次都从d值最小的结点$x$开始,对于从$x$出发的所有边$(x,y)$,对于未被访问过的结点$y$,更新$ ...
分类:
编程语言 时间:
2020-05-19 20:42:02
阅读次数:
56