- 博客(11)
- 收藏
- 关注
原创 【无标题】
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-12-21 23:38:58
437
原创 数据结构图
完全图性质无向完全图,任意两个点都有一条边,n个顶点·n(n-1)/2条边有向完全图:n个顶点n(n-1)条边存储形式邻接矩阵无向图1.几个顶点就是几×几的矩阵,有边填1,否则填02.对角线上元素都是零3.无向图的邻接矩阵是对称的4.顶点i的度=第i行中1的个数特别:完全图的邻接矩阵对角元素为0,其他为1有向图1.发出弧才填12.有几个1就有几条辨3.每一行1的个数就是发出弧的个数4.第i行的含义以节点vi为尾的弧第i列,以vi为头的弧5.v1的度是行列加起来(出度是第i
2021-01-18 17:49:47
348
原创 哈夫曼树及其应用(最优二叉树)寻找路径长度最短
1.路径长度:两个节点之间的节点数(不算头算尾)2.树的路径长度,:树根到每个节点的路径长度之和完全二叉树是路径长度最短的完全二叉树3.节点的带权路径长度:从根节点到该节点的权和路经长度的乘积4.树的带权路径长度:树中所有叶子节点的带权路径长度之和哈夫曼树=带权路径长度最短的树(要么都比二叉树或者三叉树)1.哈夫曼树权值越大的叶子越靠近根2.具有相同带权节点的哈夫曼树不为一步骤1.构造森林全是根2.选俩个小的为左右子树,根为权之和3.将这棵树放进森林里4.重复23,直到剩一颗哈夫曼树
2021-01-13 17:08:45
1440
原创 二叉树
二叉树的性质和存储结构1.第i层上有2的i-1次方个节点2.深度为k的二叉树最多有2的k次方-1个节点(满二叉树)最少有k个节点3.对任意一个二叉树t,叶子数n,度为2的节点数m,则n=m+14.深度为k的完全二叉树序号与二叉树一一对应1.对任意节点,右子树最大层次为i,左子树最大层次为i或i+12.叶子只能分布在最大的两层上3.具有n个节点的完全二叉树深度为【log2的n】+1,不超过log2的n的最大整数4.编号为i(i!=1)的双亲节点是【i/2】,左孩子是2i,右孩子是2i+1
2021-01-09 16:40:27
246
原创 数据结构队列
1.顺序队列队列结构typedef struct { int *base;//动态分配内存空间 int front;//头指针,指向队头 int rear;//尾指针,队列不空,指向队尾元素的下一个 }sqqueue; 初始化void inniqueue(sqqueue &q) { q.base=new int[100]; if(!q.base) return 0; q.front=q.rear=0;//头尾指针为零,队列为空 re
2021-01-06 17:55:55
149
原创 数据结构栈
数据结构栈顺序栈1.结构定义typedef struct { int *top; int *base; int stacksize; }sqstack;初始化void innistack(sqstack &s) { s.base=new int[100]; if(!s.base) { return; } s.top=s.base; s.stacksize=100; }是否为空void empty(sqstack s){ if
2021-01-05 16:18:06
178
1
原创 2021-01-04
``## 栈的应用进制转换#include<iostream> #include<stack> using namespace std; int main() { int n; int m; cout<<"输入数字还有转换的进制"<<endl; cin>>n>>m; stack<int>re; while(n!=0) { int a,b;//a代表结果,b代表余数 a=n
2021-01-04 15:43:51
95
原创 线性表的合并
线性表的合并1.无序线性表的合并//无序线性表的合并 #include<iostream>using namespace std;//线性表的定义 typedef struct { int *data; int len;}sql;//初始化void innisql(sql &a){ a.data=new int[100]; a.len=0; } //打印线性表void print(sql &a){ for(int i=0;i<a.le
2021-01-03 10:25:43
488
原创 c++map
c++中map的使用//map会按照key值进行排序,不允许容器中有重复key值的元素,multimap允许 map<int,int>m;//默认构造 m.insert(pair<int,int>(1,10)); //第一种 m.insert(make_pair(2,20)); //第二种 m[3]=30;//第三种 ,主要用来查找值 m.insert(pair<int,int>(4,40)); for(map<int,int>::i
2021-01-01 20:39:44
196
原创 2021-01-01
set容器的使用#include<iostream>#include<string>#include<vector>#include<stack>#include<queue> #include<list> #include<set>using namespace std;int main(){ //set没有push,插入用insert,set中没有重复的元素 set<int>s
2021-01-01 17:57:56
103
原创 c++stl
c++string#include<iostream>#include<string>#include<vector>#include<stack>#include<queue> #include<list> using namespace std;int main(){ //字符串拼接 string s1="hello"; string s2; s2.assign("hello world",5); co
2021-01-01 16:48:49
151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅