非递归形式实现二叉树 前序 中序 后序遍历 Stack.h #define _CRT_SECURE_N0_WARNINGS 1 #include <assert.h> struct BTreeNode; //…
五分钟学会一个高难度算法:希尔排序
由于LeetCode上的算法题很多涉及到一些基础的数据结构,为了更好的理解后续更新的一些复杂题目的动画,推出一个新系列 —–《图解数据结构》,主要使用动画来描述常见的数据结构和算法。本系列包括十大…
排序算法对比总结-Python
 …
【Java实现数据结构】链表成环的一些检测与操作
正文之前 今天早上看简书的时候,发现了一个写的很好的Java实现的数据结构的Repo,所以就干脆对着学了起来。感觉还行,现在丢一点学习成果。地址是:https://github.com/buptdavid/datastr…
reactjs开发自制编程语言编译器:实现变量绑定和函数调用
在编程时,我们会初始化一个变量,给变量赋初值,例如下面语句: let x = 5*5; 上面代码被编译器解读后,变量x就会和数值25绑定在一起。下次使用到变量x时,编译器会读取它绑定的值,然后用于相关代码的执行,例如下面…
数据结构之「字典树」
字典树 字典树,又称 前缀树 或 trie树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对…
leetcode.22 - 括号生成
题目 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 例如,给出 n = 3,生成结果为: [ "((()))", "(()())", "(())()", "()(())", …
验证回文字符串
原题: 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: "A man, a plan, a canal: Panam…
二叉搜索树
1.概念 与二叉树相比,二叉搜索树的每个节点左孩子关键字小于等于该节点关键字,右孩子关键字大于等于该节点关键字。即: node.left.key ≦ node.key ≦ node.right.key /** * str…
BZOJ-1564: [NOI2009]二叉查找树(DP)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1564 考虑到树的中序遍历是唯一的,那么区间dp,由于一个[n,n+1)里面的实数有无穷个可以取,所以,我们可以把权…
Leetcode第11题至第20题 思路分析及C++实现
笔者按照目录刷题,对于每一道题,力争使用效率最高(时间复杂度最低)的算法,并全部通过C++代码实现AC。(文中计算的复杂度都是最坏情况复杂度) 因为考虑到大部分读者已经在Leetcode浏览过题目了,所以每道题都按照 解…
hdu1029(简单stl运用)
题目链接:kuangbin带你飞:基础dp专题hdu1029 这道题放在了基础dp专题,我觉得就是简单的C++的stl运用。 题意就是求出一个数列中出现次数大于等于(N+1)/2的数。用map记录每个数出现的次数,依次遍…