将搜索二叉树转换成双向链表 对于BST 来说,有本身的值域,有指向左孩子和右孩子的两个指针;对于双向链表来说,有本身的值域,有指向上一个节点和下一个节点的指针。将这个BST转换成双向链表,对于每一个节点来说,原来的right指针等价于转换后的next指针,原来的left指针等价于转换后的left指针 ...
分类:
其他好文 时间:
2018-07-23 11:17:46
阅读次数:
231
在单链表中删除指定值的节点 给定一个链表的头节点head和一个整数num,实现一个函数删除链表中值为num的所有节点。例如,链表为 1->2->3->4->null ,num 为3,删除后,链表变为 1->2->4->null。 【解析】 方法一:使用栈或者其他容器收集节点的方法,其时间复杂度是 O ...
分类:
其他好文 时间:
2018-07-23 10:59:35
阅读次数:
197
删除无序单链表中值重复出现的节点 给定一个无序单链表的头节点head,删除其中值重复的节点 例如: 1->2->3->3->4->4->2->1->1->null 删除之后变为 1->2->3->4->null 方法1:如果链表长度为N,时间复杂度达到O(N) 方法2:如果要求空间复杂度为O(1), ...
分类:
其他好文 时间:
2018-07-20 00:24:31
阅读次数:
168
将单链表的每K个节点之间逆序 给定一个单链表的头节点head,实现一个调整链表的函数,使得每K 个节点之间逆序,如果最后剩下不够K 个节点,则不调整最后几个。 例如: 链表:1—>2—>3—>4—>5—>6—>7—>8—>null,k=3。 调整好后:3—>2—>1—>6—>5—>4—>7—>8—> ...
分类:
其他好文 时间:
2018-07-20 00:21:05
阅读次数:
307
下载地址: "网盘下载" 本书基于Python语言介绍了数据结构与算法的基本知识,主要内容包括抽象数据类型和Python面向对象程序设计、线性表、字符串、栈和队列、二叉树和树、集合、排序以及算法的基本知识。本书延续问题求解的思路,从解决问题的目标来组织教学内容,注重理论与实践的并用。 下载地址: " ...
分类:
编程语言 时间:
2018-07-17 21:44:33
阅读次数:
347
栈和队列是两种应用非常广泛的数据结构,它们都来自线性表数据结构,都是“操作受限”的线性表。 栈的概念 栈(Stack):是限制在表的一端进行插入和删除操作的线性表。又称为后进先出LIFO (Last In First Out)或先进后出FILO (First In Last Out)线性表。 栈顶( ...
分类:
其他好文 时间:
2018-07-14 10:27:01
阅读次数:
164
最大值减去最小值小于等于num的子数组的数量 给定数组arr和整数 num,共返回有多少个数组满足下列情况: max(arr[i..j])-min(arr[i..j])<=num。其中max(arr[i..j]) 表示子数组arr[i..j] 中的最大值,min(arr[i..j]) 表示子数组ar ...
分类:
编程语言 时间:
2018-07-13 01:19:29
阅读次数:
256
求最大子矩阵的大小 给定一个整型矩阵map,其中的值只有0,1两种,求全是1 的所有矩阵区域中,最大的矩形区域为1的数量。 例如: 1 1 1 0,其中最大的矩形区域有3个1,所以返回3 例如: 1 0 1 1 1 1 1 1 1 1 1 0 其中,最大的矩形区域有6个1,所以返回6 【解析】 首先 ...
分类:
其他好文 时间:
2018-07-12 23:58:36
阅读次数:
319
前言:题图无关,接下来开始简单学习学习优先队列和堆的相关数据结构的知识; 前序文章: 数据结构与算法(1)——数组与链表(https://www.jianshu.com/p/7b93b3570875) 数据结构与算法(2)——栈和队列(https://www.jianshu.com/p/5087c7 ...
分类:
编程语言 时间:
2018-07-12 20:01:06
阅读次数:
165
前言:题图无关,现在开始来学习学习树相关的知识 前序文章: 数据结构与算法(1)——数组与链表(https://www.jianshu.com/p/7b93b3570875) 数据结构与算法(2)——栈和队列(https://www.jianshu.com/p/5087c751cb42) 树 什么是 ...
分类:
编程语言 时间:
2018-07-11 20:05:23
阅读次数:
285