数据结构
ㄨㄛˇㄞˋㄋㄧˇ
别看了,是大汉
展开
-
中序线索二叉树实现(带注释及测试文本)
看懂注释,代码理解基本没问题原创 2021-11-19 22:47:57 · 297 阅读 · 0 评论 -
浙大MOOC《数据结构》PTA第4题 Reversing Linked List
题目链接 题目及样例原创 2021-09-11 08:52:12 · 171 阅读 · 0 评论 -
排序算法之——堆排序
选择排序选择排序堆排序 选择排序 代码 #include <iostream> #include <cstdio> #include <vector> #include <queue> typedef int ElementType; using namespace std; long *arr; int N; void Selection_Sort() { for(int j=N;j>0;j--) { int max_i原创 2021-09-11 06:24:52 · 57 阅读 · 0 评论 -
浙大MOOC《数据结构》PTA第3题 02-线性结构2 一元多项式的乘法与加法运算
题目链接 题目图片及样例 代码(大致思路没错,代码有一点错误,有大佬愿意的话,请务必不吝赐教) #include <stdio.h> #include <stdlib.h> #include <stdbool.h> typedef struct LNode *List; struct LNode { int zhi; int xi; List next; }; void output(List h) { if(!h) re原创 2021-09-10 10:45:02 · 106 阅读 · 0 评论 -
数据结构之栈之中缀计算器
小甲鱼视频P29 P30 一篇大佬的文章 我的个人理解 优先级排序 1、’(’ 2、’*’ 、 ‘/’ 3、’+’、’-’ 如果是’(‘存就完了 如果是后两种,之前存的一个运算符等级>=它,就把之前压栈的符号一直弹,除非遇到’(’(得留着给’)'用)或没符号了。 代码如下~~ /#include <stdio.h> #include <stdlib.h> #define MAXSIZE 100 #define ERROR -100000 #define MAX 10 typed原创 2021-08-06 15:26:13 · 133 阅读 · 1 评论 -
递归案例三——斐波那契数列
i=0,n=0 i=1,n=1 i>=2,n=n(i-1)+n(i-2) int calcu_fibo(int i) { if(i==0) return 0; if(i==1) return 1; return calcu_fibo(i-1)+calcu_fibo(i-2); }原创 2021-08-06 14:59:03 · 92 阅读 · 0 评论 -
递归案例之——二分查找
额,写标题时突然想到递归和回溯有啥区别 我的理解是这样 递归是自己定义终止条件一条或多条路一起走到黑 回溯是计算机自己判断终止条件碰到终止条件就换路 参考于此 想要进一步理解,可参考汉诺塔和八皇后的微妙区别 不说了,上二分代码~ int find(int n,int left,int right,int mid,int matrix[]) {//n是目标数字,目的是返回目标数字下标,否则返回-1 if(n==matrix[mid]) { return mid;原创 2021-08-06 14:53:23 · 56 阅读 · 0 评论 -
回溯案例——八皇后
#include <iostream> using namespace std; //打印测试结果 void output(bool qipan[][8]) { for(int i=0;i<8;i++) { for(int j=0;j<8;j++) { cout<<qipan[i][j]<<" "; } cout<<endl; }原创 2021-08-06 14:35:04 · 67 阅读 · 0 评论 -
递归案例——汉诺塔
#include <iostream> using namespace std; int hano(char ini,char mid,char targ,int n)//ini mid targ //分别模拟初始柱子、中间媒介柱子和目标柱子 { if(n==1) return 1; return hano(ini,targ,mid,n-1)+1+hano(mid,ini,targ,n-1); } int main(原创 2021-08-06 14:27:54 · 61 阅读 · 0 评论 -
算法案例——最大子列和
给定K个整数组成的序列{ N 1, N 2, …, N K},“连续子列”被定义为{ N i , N i+1 , …, N j},其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数序列的最大子列和。 本题旨在测试各种不同的算法在各种数据情况下的表现。各组测试数据特点如下: 数据1:与样例等价,测试基本正确性; 数据2:1e2个随机整原创 2021-08-04 09:30:08 · 86 阅读 · 0 评论