![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Structure
笔还是要动的
这个作者很懒,什么都没留下…
展开
-
哈希表
Hash TableHashing:提供O(1)的时间复杂度完成增删改查的操作。情景假设:用电话号码做ID,存储联系人的信息。增删改查的速度可以多快?可以建立索引表,用电话号码做ID,存储信息的地址,这样速度可以化简到O(1).问题:消耗空间为O(m* 10 *n) ,m=地址空间,n=联系人数量,10=电话号码长度。想法:能否将电话号码长度缩小来减小空间代价?于是推出了哈希函数。哈希...原创 2020-03-15 12:37:39 · 211 阅读 · 0 评论 -
图:BFS、DFS、CycleDetection、UnionFind、Kruskal、Prim、TopoSort、Kosaraju、Tarjan、Dijkstra、BF、Floyd、Johnson
图阿西,零、基本概念图的概念:顶点(Vertex),边(Edges),度(degree): 入度和出度indegree,outdegree有向无环图:DAG握手定理(无向图):一个聚会上,把每个人握手的次数相加必为偶数,也就是所有顶点的度加起来等于边数的两倍。图的分类有向图(Directed Graph):单箭头,顶点A,B: (A,B) != (B,A)无向图(Un-...原创 2020-03-10 17:43:13 · 703 阅读 · 0 评论 -
树: unordered tree、Binary Search Tree、AVL、B Tree、Red Black Tree
文章目录树基本概念二叉树性质二叉树分类无序树的构建和遍历BinTree.h测试代码main.cppBST二叉查找树BSTree.hmain.cppAVL平衡二叉查找树:自平衡AVL树失衡的四种姿态LL : 右旋g:g的左孩子的左子树导致失衡RR : 左旋g:g的右孩子的右子树导致失衡LR : 左旋p+右旋g = RR+LLRL : 右旋p+左旋g = LL+RRAVL树的添加操作一、大致思路二、...原创 2020-02-14 13:31:55 · 487 阅读 · 0 评论 -
链表写法
#include <iostream>using namespace std;class List;class Node {friend class List; // 将List类做成友元来访问Node的私有成员/*******************public: Node() { data = 0; next = nullptr; } ~Node(...原创 2019-12-03 15:25:32 · 241 阅读 · 0 评论 -
Structure : Stack &Queue
栈#pragma once#include <vector>template <class T, int capacity = 30>class Stack {public: Stack() { pool.reserve(capacity); } void clear() { pool.clear(); } T& topEL() ...原创 2019-10-31 13:52:09 · 228 阅读 · 0 评论 -
Structure:List
\\--------------------------- List.h-----------------------#pragma once// 链表结点class Node {public: Node() { next = nullptr; } Node(int data, Node * node = nullptr) { this->data = data; thi...原创 2019-10-29 22:53:45 · 204 阅读 · 0 评论