自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (6)
  • 收藏
  • 关注

原创 图的数组表示方法

/*图: 数组表示法创建*/#include <iostream>using namespace std;#define INFINITY 95533 // 最大值#define MAX_VERTEX_NUM 20 //最大顶点个数#define VRType int //顶点关系类型,对无权图,用1或0表示相邻否;对带权图,则为权值类...

2019-06-14 17:10:12 1944

原创 红黑树 RBT

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

2019-06-13 12:22:21 236

原创 哈夫曼树

/* 哈夫曼树 最优二叉树 严格二叉树 正则二叉树*/#include <iostream>#include <stack>using namespace std;typedef struct node{ int value ; struct node *left,*right,*father;}HFM;void ...

2019-06-12 15:06:06 173

原创 平衡二叉树(AVl)

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

2019-06-11 10:14:41 149

原创 排序二叉树(BST)

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

2019-06-09 12:59:02 555

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

/*二叉树的非递归遍历 先序 中序 后序*/#include <iostream>#include <stack>using namespace std;typedef struct node{ int value; struct node* left,*right;}Tree;/*使用递归(先序)创建二叉树*/void C...

2019-06-09 11:53:47 219

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

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

2019-06-08 16:18:11 437

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

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

2019-06-07 22:05:14 114

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

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

2019-06-07 21:46:32 546

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

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

2019-06-07 11:06:41 808

原创 矩阵乘法

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

2019-06-03 21:13:19 222

原创 矩阵快速转置

/*矩阵的快速转置*/#include<iostream>using namespace std;#define MAX 100typedef struct mode{ int x,y; int value;}SRC;typedef struct node_1{ SRC data[MAX+1]; int mu,nu,tu; /*分...

2019-06-02 17:36:35 1564

原创 矩阵(压缩存储)

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

2019-06-02 14:55:59 1609

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

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

2019-06-02 13:58:55 289

原创 汉诺塔(递归实现)

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

2019-06-02 10:18:14 169

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

/* 使用栈实现表达式求值*/#include <iostream>#include <string>#include <cmath>using namespace std;#define MAX_SIZE 7#define MAX 1000char rule[][7]={ {'>', '&g...

2019-06-01 17:32:28 1623

原创 走迷宫(递归)

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

2019-05-29 20:31:07 795

原创 括号匹配

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

2019-05-27 18:30:30 93

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

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

2019-05-26 23:25:41 3224

原创 队列

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

2019-05-26 22:36:59 157

原创

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

2019-05-26 20:41:47 73

原创 模板类

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

2019-05-26 11:36:30 71

原创 函数模板

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

2019-05-26 11:02:30 57

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

/* 一个形如"Y"的链表 求其交点*/#include <iostream>#include <stack>using namespace std;typedef struct node{ int value ; struct node *next;}List;/*创建链表*/void Create(List* &He...

2019-05-26 00:35:27 580

原创 ‘6’型链表

/*'6'型链表 描述,有一个形式为'6'型的链表 求解交点的数值*/#include<iostream>using namespace std;typedef struct node{ int value; struct node *next;}List;/*创建单向链表*/void Create(List* &Head,List* &...

2019-05-25 23:57:55 236

原创 双向循环链表

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

2019-05-25 21:24:01 947

原创 双向链表

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

2019-05-25 18:59:00 454

原创 单向循环链表

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

2019-05-25 16:11:08 241

原创 单向链表

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

2019-05-25 16:08:46 289

原创 shell排序(ShellSort)

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

2019-03-24 15:42:16 149

原创 快速排序(QuickSort)

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

2019-03-24 13:33:05 96

原创 计数排序(CountSort)

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

2019-03-23 21:04:43 550

原创 插入排序(InsertSort)

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

2019-03-23 20:15:12 257

原创 选择排序(SelectSort)

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

2019-03-23 19:13:01 164

原创 冒泡排序(BubbleSort)

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

2019-03-23 18:30:30 228

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

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

2019-03-17 21:07:28 265

原创 进程

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

2018-08-24 16:47:37 80

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

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

2018-08-24 15:51:27 284

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

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

2018-08-12 18:51:25 997

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

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

2018-08-02 19:54:11 237

实习与在校期间相关项目总结.zip

实习与在校期间相关的项目经历(实习期间经历过的项目的相关过程总结与上线后的效果与在校期间的项目(智能聊天室))

2019-07-27

查找主串中出现的子串的首位置.zip

抓穿中查找出现的子串的首先位置(kmp/sunday算法实现)

2019-07-07

排序算法整理.zip

常见的十种排序算法(冒泡/选择/插入/计数/基数/堆/归并/快速/桶/希尔排序)

2019-07-07

Linux进程间通信.zip

Linux进程间通信(fifo/pipe/mmap)后续将会完成进程间通信(消息队列/信号) 请关注

2019-07-02

makefile项目管理工具

makefile项目管理工具 提高程序的编译的速度 常用的命令集合

2019-06-26

Linux中的GDB调试器 及相关指令集合

Linux中的GDB调试器 及相关指令集合 断点的设定 单步执行等常见的调试命令

2019-06-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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