1. 概述 1.1 基本概念 双向链表是指含有往前和往后两个方向的链表,即每个结点中除存放下一个节点指针外,还增加一个指向其前一个节点的指针。其头指针head是唯一确定的。 从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点,这种数据结构形式使得双向链表在查找时更加方便,特别是 ...
分类:
其他好文 时间:
2019-06-08 14:38:16
阅读次数:
74
一、查找及部分基本概念 部分概念: 1. 查找表: 要进行查找的数据结构,可以是线性表、树表、散列表等。 2. 关键字: 能够标识一个元素的数据项。 3. 动态查找和静态查找: 查找过程中可以对查找表进行操作(比如说插入、删除)称为动态查找表,不能操作则为静态查找表。 4. 平均查找长度(ASL): ...
分类:
其他好文 时间:
2019-06-03 00:23:20
阅读次数:
108
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 ...
分类:
其他好文 时间:
2019-06-01 23:31:29
阅读次数:
220
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 示例 2: 示例 3: 这道题需要借助哈希查找key的O(n) 时间复杂度, 否则就会超时 初始化一个 哈希表\字典 dic 头指针start 初始为0 当前指针 cur 初始为0 最大长度变量 l 初始为0 用cur变量 ...
分类:
编程语言 时间:
2019-05-31 10:24:40
阅读次数:
129
今天来说一下线段树套Splay。顺便我也来重新敲一遍模板。 首先,明确一下Splay套线段树用来处理什么问题。它可以支持:插入x,删除x,单点修改,查询x在区间[l,r]的排名,查询区间[l,r]中排名为k的数,以及一个数在区间[l,r]中的前驱,后继。(应该还可以查询区间和等东西,还没写过) 其实 ...
分类:
其他好文 时间:
2019-05-26 19:45:41
阅读次数:
161
【二叉树】 1. 实现一个二叉查找树,并且支持插入、删除、查找操作 2. 实现查找二叉查找树中某个节点的后继、前驱节点 3. 实现二叉树前、中、后序以及按层遍历 练习: 1. 翻转二叉树 https://leetcode-cn.com/problems/invert-binary-tree/ 思路: ...
分类:
编程语言 时间:
2019-05-22 09:16:33
阅读次数:
140
插入元素输出之后变成了矩形框架或者变成了汉字,表示自闭了#include #include #define maxSize 100 //串字符数组最大长度 typedef struct{ char ch[maxSize]; //顺序串的存储数组 int length; //顺序串的实际长度 }Seq... ...
分类:
其他好文 时间:
2019-05-22 00:08:28
阅读次数:
108
list是C++标准模版库(STL,Standard Template Library)中的部分内容。实际上,list容器就是一个双向链表,可以高效地进行插入删除元素。使用list容器之前必须加上STL的list容器的头文件:#include<list>list属于stl所以使用前要加 using ...
分类:
其他好文 时间:
2019-05-19 14:01:01
阅读次数:
113
给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 进阶:如果二叉搜索树经常被修改(插入/删除操作)并且你需要频繁地查找第 k 小的值,你将如何优化 kthSmallest 函数? 进阶: ...
分类:
其他好文 时间:
2019-05-19 09:47:09
阅读次数:
101