数据结构
复习一下数据结构的知识,以代码为主,加上一些例子
qdmoxf
这个作者很懒,什么都没留下…
展开
-
数据结构-二叉树(重构、遍历)leetcode102、103、105
102(层序遍历)题目:这里与邓老师讲的唯一不同之处在于需要判断节点是否在某一层,把同属于某一层的节点一起输出。思路就是在循环里每次不是pop一次,而是每次把当前队列(插入之前)pop空。代码/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val原创 2020-06-15 20:49:12 · 94 阅读 · 0 评论 -
数据结构-二叉树(概念、遍历)
散落知识点树是一种半线性结构二叉树(每个节点最多只有两个孩子)(有根性、有序的)深度为K的节点,至多2k2^k2k个含有n个节点、高度为h的树,h<n<2h+1h<n<2^{h+1}h<n<2h+1深度:对于任意节点n,n的深度,是该店到根的路径,跟的深度为0高度:对于任意节点n,n的高度,是该点到一片树叶的最长路径常,所有树叶的高度为0满二叉树:饱和状态二叉树容易长宽,不容易长高。真二叉树:每个几点出度,要么是2,要么原创 2020-06-15 10:55:37 · 204 阅读 · 1 评论 -
深度优先遍历和 宽度优先遍历
写在前面DFS和BFS这是数据结构 图 最基本的两个算法,这里记录两道题的求解过程复习一下这两道算法克隆图(leetcode133)这题没什么说的,就是给你一个图,给出这个图的深度复制结果深度优先对于深度优先算法,最重要的是使用一个哈希表来维持visited过的点,具体实现见代码:/*// Definition for a Node.class Node {public: ...原创 2020-04-05 11:40:18 · 582 阅读 · 0 评论 -
CCF真题201709
第一题:打酱油#include<iostream>using namespace::std;int main() { int x; cin >> x; int fives = x / 50; int threes = (x - 50 * fives) / 30; cout<< fives * 7 + threes...原创 2020-03-15 20:16:05 · 129 阅读 · 0 评论 -
leetcode 95 96 不同的二叉搜索树
96 不同的二叉搜索树题目地址【96】题目描述:给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?示例输入:3输出:5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树:思路此题是一道动态规划问题:问题可以理解为:给定一个有序序列 1 … n,为了根据序列构建一棵二叉搜索树。我们可以遍历每个数字 i,将该数字作为树根,1 … (i-1) 序列将成为...原创 2020-03-10 16:16:48 · 75 阅读 · 0 评论 -
AVL树的插入与删除
前言对一些数据结构的知识忘记的差不多了,但时间精力不允许自己手动实现一遍,所以找到清华邓俊辉老师《数据结构C++版》的代码进行分析,希望可以借此记录并帮助自己回顾一下AVL树的定义名字是来源两个发明者:(G.Adelson-Velsky & E.Landis(1962))motivation主要是为了解决二叉搜索树(BST)不平衡的问题如果遇到上述形态的BST,那么树的特性完...原创 2020-02-28 21:14:10 · 251 阅读 · 0 评论