自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 图的数组表示方法

/* 图: 数组表示法创建 */ #include <iostream> using namespace std; #define INFINITY 95533 // 最大值 #define MAX_VERTEX_NUM 20 //最大顶点个数 #define VRType int...

2019-06-14 17:10:12

阅读数 386

评论数 0

原创 红黑树 RBT

/* 红黑树(颜色平衡) 时间复杂度为 log2n 向下取整 红黑树的性质 1:每一个节点的颜色必须是红色或者是黑色的 2:根节点必须是黑色的 3:没有两个红色的孩子为父子关系 4:终端节点可以认为是黑色的(黑哨兵) 5:从树中的任意的节点出发到达所有可以到到达的终端节点的所...

2019-06-13 12:22:21

阅读数 32

评论数 0

原创 哈夫曼树

/* 哈夫曼树 最优二叉树 严格二叉树 正则二叉树 */ #include <iostream> #include <stack> using namespace std; typedef struct node{ int value ; struct nod...

2019-06-12 15:06:06

阅读数 27

评论数 0

原创 平衡二叉树(AVl)

/* 平衡二叉树 AVL AVL树的原理是左右高度差不大于1 */ #include <iostream> using namespace std; typedef struct node{ char value; struct node *left,*right,*fa...

2019-06-11 10:14:41

阅读数 22

评论数 0

原创 排序二叉树(BST)

/* 排序二叉树 BST 时间复杂度为 LOG n 2 */ #include <iostream> #include <stack> using namespace std; typedef struct node { int value; str...

2019-06-09 12:59:02

阅读数 131

评论数 0

原创 二叉树的非递归遍历(前中后序)

/* 二叉树的非递归遍历 先序 中序 后序 */ #include <iostream> #include <stack> using namespace std; typedef struct node{ int value; struct node* left...

2019-06-09 11:53:47

阅读数 113

评论数 0

原创 按层创建二叉树(含二叉树的深度遍历和广度遍历)

/* 层次创建二叉树 */ #include <iostream> #include <queue> using namespace std; typedef struct node{ char value; struct node *left; struct ...

2019-06-08 16:18:11

阅读数 87

评论数 0

原创 二叉树的深度/广度遍历

/* 二叉树的相关实现 ------顺序表存储 二叉树的性质 1:二叉树k层含有的节点数为 2^k-1 (k从一开始计数) 2:为k层的二叉树最多含有的节点数是 2^(k-1) (k从一开始计数) 3:对于任意的二叉树而言 都有n0 = n2+1 (n0表示出度为为0的节点,n2表示出度为...

2019-06-07 22:05:14

阅读数 20

评论数 0

原创 二叉树(性质/顺序存储与先、中、后序遍历)

/* 二叉树的相关实现 ------顺序表存储 二叉树的性质 1:二叉树k层含有的节点数为 2^k-1 (k从一开始计数) 2:为k层的二叉树最多含有的节点数是 2^(k-1) (k从一开始计数) 3:对于任意的二叉树而言 都有n0 = n2+1 (n0表示出度为为0的节点,n2表示出度为...

2019-06-07 21:46:32

阅读数 71

评论数 0

原创 矩阵加法(十字交叉链表)

/* 十字交叉链表 解决的问题: 1:矩阵加法 2:矩阵存储 */ #include <iostream> using namespace std; typedef struct node_1{ /*创建节点结构*/ int x,y; int value; stru...

2019-06-07 11:06:41

阅读数 91

评论数 0

原创 矩阵乘法

/* 矩阵乘法 逻辑关系较强,需要细细体会 */ #include <iostream> using namespace std; #define MAX 100 #define HMAX 100 typedef struct node{ int x,y; int value...

2019-06-03 21:13:19

阅读数 28

评论数 0

原创 矩阵快速转置

/* 矩阵的快速转置 */ #include<iostream> using namespace std; #define MAX 100 typedef struct mode{ int x,y; int value; }SRC; typedef struct node_1...

2019-06-02 17:36:35

阅读数 288

评论数 0

原创 矩阵(压缩存储)

/* 矩阵(压缩存储) 使用场景: 矩阵的阶数加高 但是存在大量相同的元素或者是零元素 解决方法: 对相同的数据只分配一份空间 对于零元素不分配空间 */ /*对称矩阵*/ /*对称矩阵实例 { {1,2,3,4} {2,2,2,1} {3,2,3,1} {4,1,1,4} ...

2019-06-02 14:55:59

阅读数 504

评论数 0

原创 汉诺塔(非递归求解)

/* 汉诺塔非递归求解 */ #include<iostream> #include<stack> using namespace std; typedef struct node{ int num; char a; char b; char c; }HNT;...

2019-06-02 13:58:55

阅读数 149

评论数 0

原创 汉诺塔(递归实现)

/* 汉诺塔 递归实现 */ #include <iostream> using namespace std; void funca(int a,char c_a,char c_b,char c_c) { if(a==1){ /*将a柱上剩下的一个盘子直接移动到目标柱c*/ ...

2019-06-02 10:18:14

阅读数 30

评论数 0

原创 使用栈实现表达式求值

/* 使用栈实现表达式求值 */ #include <iostream> #include <string> #include <cmath> using namespace std; #define MAX_SIZE 7 #define MAX 1000...

2019-06-01 17:32:28

阅读数 479

评论数 0

原创 走迷宫(递归)

/* 走迷宫 使用递归实现走迷宫 */ #include <iostream> using namespace std; #define LEN 5 int start_pos_x = 0, start_pos_y = 0; int Map_x = 4, Map_y = 4; i...

2019-05-29 20:31:07

阅读数 358

评论数 0

原创 括号匹配

/* 括号匹配 */ #include <iostream> #include <stack> using namespace std; void funca(char arr[],int length,bool &Result) { stack<char...

2019-05-27 18:30:30

阅读数 22

评论数 0

原创 使用栈实现十进制数转化为N进制数

/* 使用栈求解及十进制数转化为N进制数 */ #include <iostream> #include <stack> using namespace std; void funca(int n,int m,stack<int> &stack_) ...

2019-05-26 23:25:41

阅读数 434

评论数 0

原创 队列

/* Queue 1:队列初始化 void init 2:元素装入队列 void push 3:首元素出队列 void pop 4:取队列首元素 front 5:取队列尾元素 back 6:获取队列的长度 int size 7:队列清空 void Destroy 8:队列判空 bo...

2019-05-26 22:36:59

阅读数 89

评论数 0

原创

/* stak; 1:创建栈顶标记指针 void init 2:元素入栈 void push 3:元素出栈 void pop 4:获取栈顶元素 top(返回值的类型为装入的数据的类型) 5:测定栈的元素数目 int size 6:栈判空 bool IsEmpty 7:栈清空 void...

2019-05-26 20:41:47

阅读数 15

评论数 0

原创 模板类

/* 模板类 比较两个数的大小 */ #include <iostream> using namespace std; template <typename T> class Cube { private: T a; T b; public: Cube(T a_1...

2019-05-26 11:36:30

阅读数 9

评论数 0

原创 函数模板

/* 函数模板 实现代码的复用 */ #include<iostream> using namespace std; template <typename T> T m_max(T a,T b) { return a>b?a:b; } int m_max(i...

2019-05-26 11:02:30

阅读数 9

评论数 0

原创 “Y”型链表查找交点

/* 一个形如"Y"的链表 求其交点 */ #include <iostream> #include <stack> using namespace std; typedef struct node{ int value ; struct no...

2019-05-26 00:35:27

阅读数 88

评论数 0

原创 ‘6’型链表

/* '6'型链表 描述,有一个形式为'6'型的链表 求解交点的数值 */ #include<iostream> using namespace std; typedef struct node{ int value; struct nod...

2019-05-25 23:57:55

阅读数 11

评论数 0

原创 双向循环链表

/* 双向循环链表 1:双向循环链表创建 2:双向循环链表长度 3:双向循环链表正向遍历 4:双向循环链表反向遍历 5:双向循环链表节点插入 6:双向循环链表节点删除 7:双向循环链表倒序 8:双向循环链表判空 9:双向循环链表排序 10:双向循环链表销毁 */ #inclu...

2019-05-25 21:24:01

阅读数 496

评论数 0

原创 双向链表

/* 1:创建双向链表 2:遍历双向链表 3:双向链表长度获取 4:双向链表节点的插入 5:双向链表节点的删除 6:双向链表倒序 7:双向链表排序 8:双向链表销毁 9:双向链表判空 */ #include<iostream> using namespace std;...

2019-05-25 18:59:00

阅读数 349

评论数 0

原创 单向循环链表

/* 1:创建单向循环链表 2:遍历单向循环链表 3:单向循环链表节点插入 4:单向循环链表节点删除 5:单向循环链表倒序 6:单向循环链表排序 7:单向循环链表销毁 8:获取单链表的长度 9:单向循环链表判空 */ #include <iostream> using...

2019-05-25 16:11:08

阅读数 75

评论数 0

原创 单向链表

/* 链表: 1:链表的创建 2:链表的遍历 3:链表的元素个数的计算 4:链表的判空 5:链表的插入 6:链表的节点的删除 7:链表的清空 8:链表的倒序 9:链表的排序 */ #include <iostream> using n...

2019-05-25 16:08:46

阅读数 150

评论数 0

原创 shell排序(ShellSort)

/*希尔排序shell*/ #include <iostream> using namespace std; void funca(int *a,int length) { if(a== NULL || length<=0) return ; int temp; i...

2019-03-24 15:42:16

阅读数 14

评论数 0

原创 快速排序(QuickSort)

/*快速排序*/ #include <iostream> using namespace std; int m_insert(int *a,int left,int right) { if(a== NULL) return -1; int temp=a[left]; whi...

2019-03-24 13:33:05

阅读数 12

评论数 0

原创 计数排序(CountSort)

/*计数排序(要求数据相对较为集中,否则会浪费大量的额外的空间)*/ #include <iostream> using namespace std; void funca(int *a,int length) { if(a==NULL || length<=0) retu...

2019-03-23 21:04:43

阅读数 52

评论数 0

原创 插入排序(InsertSort)

/*插入排序*/ #include <iostream> using namespace std; void funca(int *a,int length) { if(a== NULL || length<=0) return ; int temp,j; for(...

2019-03-23 20:15:12

阅读数 16

评论数 0

原创 选择排序(SelectSort)

/*选择排序*/ #include <iostream> using namespace std; void funca(int *a,int length) { if(a==NULL || length <=0) return ; int Min; for(int...

2019-03-23 19:13:01

阅读数 26

评论数 0

原创 冒泡排序(BubbleSort)

/*冒泡排序(优化版)*/ #include <iostream> using namespace std; void funca(int *a,int length) { if(a == NULL || length <= 0) return ; int i,j; ...

2019-03-23 18:30:30

阅读数 16

评论数 0

原创 双向链表(不含头节点)

#include &lt;iostream&gt; using namespace std; typedef struct node{ int value; struct node *pNext; struct node *pFront; }List; //创建双向链...

2019-03-17 21:07:28

阅读数 55

评论数 0

原创 进程

进程:进程是一个调度单位,CPU为这个单位分配资源让其 正常的执行 程序:持久性的保存在本地的一个可以执行的文件 进程与程序之间的关系:当程序执行,产生调度单位【进程】以后,该调度单位与程序文件没有任何的关系【相互独立】 进程空间【虚拟内存】:其中的0-3G提供给用户空间【KERNEL】使用...

2018-08-24 16:47:37

阅读数 25

评论数 0

原创 项目管理工具(常用的知识点)--------------------【MakeFile】

MakeFile项目管理工具【编写MakeFile脚本管理用户项目】         1:MakeFile项目管理工具的作用:              A:编译管理用户代码              B:节省编译的时间【识别最近改动的代码,对其进行更新编译,与旧文件连接生成新的APP】 ...

2018-08-24 15:51:27

阅读数 160

评论数 0

原创 排序二叉树【BST】的创建.先序遍历.中序遍历.节点的加入和删除

解决思路: 1:将给定的数据进行数据元素的冒泡排序操作,用来判定将要执行BST 操作的数组中的数据是否满足BST树的基本的数据的要求,满足时再指向BST输的创建过程,不满足的时候,报错【“不满足BST对数据不一致的要求\n”】 ;  2:创建BST,此处采用的创建方式是采用的二级指针的创建方式...

2018-08-12 18:51:25

阅读数 496

评论数 0

原创 字典树查找-----------------------【TrieTree】

结局思想 1  定义结构体数组--------------结构体数组中的内容包含计数器count【作用是用来标记单词的结尾,在查找的时候用于判断 是不是存在所要查找的字符串】;指针数组str_26[26]【此处我所开【此处为了说明原理,我所使用的数组的大小是26,这就意味着只能是全部的大写或者全...

2018-08-02 19:54:11

阅读数 53

评论数 0

提示
确定要删除当前文章?
取消 删除