面试必备:数据结构与算法面试题 最新2023整理版
2022-12-17 11:25:34 4.72MB 面试 数据结构 算法
1
数据库期末整理资料
2022-12-16 12:16:34 6.12MB 数据结构
1
最小生成树的构造,以及求最小生成树的 普利姆算法和克鲁斯卡尔算法,C++实现算法
2022-12-16 12:13:39 801KB 最小生成树
1
栈(中缀表达式转后缀表达式)原理及代码实现 1. 逆波兰表达式的介绍 2. 中缀转后缀的原因 3. 存储特点和原理 4. 栈实现中缀转后缀的思路 5. 代码实现 6. 注意事项 一,逆波兰表达式的介绍 前缀: 前缀表达式又称波兰式,前缀表达式的运算符位于操作数之前 举例说明: (3+4)×5-6 对应的前缀表达式就是 – × + 3 4 5 6 中缀:不再多说。 后缀: 逆波兰表达式,与前缀表达式相似,只是运算符位于操作数之后,例如: (3+4)×5-6 对应的后缀表达式就是 3 4 + 5 × 6 – 二,中缀转后缀 为什么要中缀转后缀呢?WHY?我中缀表达式看的多爽为啥要转换?但是呢计算机
2022-12-16 11:28:55 59KB 括号 数据 数据结构
1
包含非常详细的Java版本的数据结构的实验课资源,一周一周的内容安排得非常仔细。
2022-12-16 10:10:00 942KB 数据结构 实验报告 Java版本
1
二叉树遍历问题 //二叉树的结构定义 typedef struct csNode { char data; struct csNode*lchild; struct csNode*rchild; } Csnode,*tree; //二叉树的建立 void CreatTree(tree *T) { char ch; cin>>ch; if(ch=='#') *T=NULL; else { *T=new Csnode; if(!T) return; (*T)->data=ch; printf("请输入%c的左子树: ",ch); CreatTree(&(*T)->lchild); printf("请输入%c的右子树: ",ch); CreatTree(&(*T)->rchild); } } //前序遍历算法 void PreCreat(tree T) { if(T==NULL) return ; cout<data<<" "; PreCreat(T->lchild); Pr
2022-12-16 09:15:07 13KB 数据结构
1
满二叉树的前序遍历 //二叉树的结构定义 typedef struct csNode { char data; struct csNode*lchild; struct csNode*rchild; } Csnode,*tree; //二叉树的建立 void CreatTree(tree *T) { char ch; cin>>ch; if(ch=='#') *T=NULL; else { *T=new Csnode; if(!T) return; (*T)->data=ch; printf("请输入%c的左子树: ",ch); CreatTree(&(*T)->lchild); printf("请输入%c的右子树: ",ch); CreatTree(&(*T)->rchild); } } //前序遍历算法 void PreCreat(tree T) { if(T==NULL) return ; cout<data<<" "; PreCreat(T->lchild);
2022-12-16 09:15:06 14KB 数据结构
1
用栈求解n皇后问题 #include #include //共用全局变量数据初始化, int place[8]={0}; bool flag[8]={1,1,1,1,1,1,1,1};//已放置列的坐标 bool col1[15]={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};//已放置皇后的上对角线 bool col2[15]={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};//已放置皇后的下对角线 int number=0; //递归回溯函数 void general(int n); //打印函数 void print(); int main(){ general(0); printf("\n共有%d种摆放方式",number); return 0; } void general(int n){ int col; for(col=0;col<8;col++){ if(flag[col]&&col1[n-col+7]&&col2[n+col]){ place[n]=col;
2022-12-16 09:15:05 12KB 数据结构
1
满二叉树的前序遍历 if(T==NULL) return ; MidCreat(T->lchild); cout<data<<" "; MidCreat(T->rchild); } //后序遍历算法 void RearCreat(tree T) { if(T==NULL) return ; RearCreat(T->lchild); RearCreat(T->rchild); cout<data<<" "; } int main() { printf("请输入第一个节点的数据:\n"); tree T; CreatTree(&T); cout<<"前序遍历:"; PreCreat(T); cout<<"\n中序遍历:"; MidCreat(T) ; cout<<"\n后序遍历:"; RearCreat(T) ; }
2022-12-16 09:15:04 11KB 数据结构
1
邻接矩阵存储图的深度优先遍历 邻接矩阵表示的无向图遍历实现。 #include using namespace std; #define MAX_SIZE 100//最大顶点数 。 #define MAX_INT 326564//表示极大值,即 ∞ 。 typedef char Elemtype_A;//定义顶点的数据类型为字符型 。 typedef int Elemtype_S;//定义边的权值为整型 。 /*深度优先遍历(DFS) 方法: (1)在访问图中某一起始顶点 ν后,由 v出发,访问它的任一邻接顶点 w; (2)再从 W,出发,访问与 w,邻接但还未被访问过的顶点 Mzi (3)然后再从 Wz出发,进行类似的访问,.. (4)如此进行下去,直至到达所有的邻接顶点都被访问过的顶点u为止。 (5)接着,退回一步,退到前一次刚访问过的顶点,看是否还有其它没有被 访问的邻接顶点。 如果有,则访问此顶点,之后再从此顶点出发,进行与前述类似的 访问; 如果没有,就再退回一步进行搜索。重复上述过程,直到连通图中 所有顶点都被访问过为止。*/ //1.邻接矩阵的
2022-12-16 09:15:04 12KB 数据结构
1