- 博客(9)
- 收藏
- 关注
原创 已知树的层序和节点的度,用二叉链表法建树
已知树的层序和节点的度,用二叉链表法建树 先将数组转化,再两个for循环就可以搞定了 #include<bits/stdc++.h> using namespace std ; typedef struct Node{ int data ; Node *lchild ,*rchild ; }Node ,*Bi_Tree; Bi_Tree Create (int level[] ,int indegree[] ,int n ){ Bi_Tree r[99];
2020-11-20 19:50:50 159
原创 希尔排序
希尔排序 希尔排序,就是改进版的插入排序… #include<bits/stdc++.h> using namespace std ; void Shell_Sort(int a[],int n){ int i ,j , d ; for(d = n / 2 ;d >=1 ; d /= 2 ){ for(i = d + 1 ;i <= n ;i++ ){ if(a[i] < a[i-d]){//后面的小,要换到前面去
2020-11-19 19:31:00 122
原创 关于中缀表达式转后缀表达式
关于中缀表达式转后缀表达式 关于中缀表达式转后缀表达式,这个需要利用栈来实现 #include<bits/stdc++.h> using namespace std ; typedef struct Bi_Node{ int data ; Bi_Node *lchild , *rchild ; }Bi_Node, * Bi_Tree ; stack<char>s ; queue<char >q ; void change(string str ){
2020-11-14 16:57:59 117
原创 拓扑排序
关于拓扑排序,判断有向图是否存在环 就没有去构建图了,只写了个思路~多的不谈,直接上代码~ #include<bits/stdc++.h> using namespace std ; const int Max_Size = 100 ; vector<int > v[Max_Size]; int indegree[Max_Size]; queue<int>q ; int n , e ; void count(){//获取各节点的入度 memset(indegr
2020-11-14 15:54:54 78
原创 2020-11-11
关于树的后续遍历(递归与非递归) 能用递归何必用啥非递归呢…但是题目非得要求非递归… #include<bits/stdc++.h> using namespace std ; typedef struct Bi_Node{ int data ; Bi_Node *lchild , *rchild ; }Bi_Node, * Bi_Tree ; void postOrder1(Bi_Tree T ){//递归后续遍历 if(T){ postOrder
2020-11-11 19:47:04 58
原创 关于二叉排序树的建立(递归与非递归)
关于二叉排序树的建立(递归与非递归) 关于建立二叉排序树(BST) #include<bits/stdc++.h> using namespace std ; typedef struct Bi_Node{ int data ; Bi_Node *lchild , *rchild ; }Bi_Node ,*Bi_Tree; void Find(Bi_Tree &T,int x ){//递归建立二叉排序树 if(!T){ T = (Bi_Tre
2020-11-09 16:47:44 542 2
原创 关于汉诺塔问题
关于汉诺塔问题 之前初学递归,觉得汉诺塔问题好难,现在觉得好多了 #include<bits/stdc++.h> using namespace std ; int step = 1 ; void HLT(int n ,char A ,char B ,char C ){//n个盘子从,A移动到C,借助B if(n > 0 ){ HLT(n-1, A, C, B);//将A上的n-1个盘子移动到B,借助C cout << step ++
2020-11-07 15:53:21 104
原创 关于传统字符查找(BF算法)和KMP算法
关于传统字符查找(BF算法)和KMP算法 关于字符串的查找,以前一直觉得很难,现在重新来看,感觉要好很多了~多的不谈,直接上代码~ //关于模式串的查找,BF算法(传统算法)与KMP算法 #include<bits/stdc++.h> using namespace std ; int BF(string s ,string t ){//传统暴力算法——BF算法 int i = 0 ,j = 0 ,starts = 0 ;//i是s的遍历指针,j是t的遍历指针,starts记录每一轮s
2020-11-03 16:05:18 125
原创 关于排序(直接插入排序、选择排序、冒泡排序、归并排序、快速排序)
关于排序(直接插入排序、选择排序、冒泡排序、归并排序、快速排序) 总结了一下关于排序的知识,理解比以前更深了~ #include<bits/stdc++.h> using namespace std ; //注意:数组下标都是从1开始的! //所有排序都是升序排序 void Insert_Sort(int a[] ,int n){//直接插入排序(i前面是已经排好序的了) for(int i =2 ;i <= n; i++ ){ a[0] = a[i] ;//哨
2020-11-01 17:17:11 1157 5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人