随笔分类 -  数据结构与算法

摘要:《数据结构》实验二报告 学号: XXXXXXXXX 机器号 10-413 姓名: xxx 日期: 2020-11-18 程序名: Test.java 实验内容: 二叉树的遍历 一、目的和要求(需求分析): 1、掌握二叉树的存储结构以及二叉树的建立和操作。 2、输入一串表达式后,建立二叉树,并对其进行 阅读全文
posted @ 2020-11-20 16:08 焕不涣 阅读(1043) 评论(0) 推荐(0)
摘要:实验1:单向链表就地转置: 老师说随便语言,所以用的是c和c++混用方便一些。 一:实验要求: 1.新建单链表 2.依次输出单链表的值 3.就地反转 4.输出反转的链表的值 5.摧毁单链表 二:实验代码: #include<stdio.h> #include<stdlib.h> #include<i 阅读全文
posted @ 2020-10-17 13:47 焕不涣 阅读(347) 评论(0) 推荐(0)
摘要:最优二叉树——哈夫曼树 一:什么是最优二叉树: 就是从已给出的目标带权结点(单独的结点) 经过一种方式的组合形成一棵树.使树的权值最小。 注意: 带权值的结点都是叶子结点。权值越小的结点,其到根结点的路径越长 二:哈夫曼算法: (1)根据给定的n个权值wl,w2,…,wn构成n棵二叉树的森林F={T 阅读全文
posted @ 2020-09-26 10:00 焕不涣 阅读(1035) 评论(0) 推荐(0)
摘要:二叉平衡树 一:AVL树介绍: 它是最先发明的自平衡二叉查找树,也被称为高度平衡树。相比于"二叉查找树",它的特点是:AVL树中任何节点的两个子树的高度最大差别为1。 注意: 上面的两张图片,左边的是AVL树,它的任何节点的两个子树的高度差别都<=1;而右边的不是AVL树,因为7的两颗子树的高度相差 阅读全文
posted @ 2020-09-23 14:16 焕不涣 阅读(533) 评论(0) 推荐(0)
摘要:二叉树 一:创建以及初始化赋值: struct BiTree { char data; BiTree* lchild; BiTree* Rchild; }; //初始化 BiTree* create() {//先序创建二叉树 BiTree *T; char a; cin >> a; if (a == 阅读全文
posted @ 2020-09-21 20:54 焕不涣 阅读(396) 评论(0) 推荐(0)
摘要:双向链表(C语言) 一:初始化以及创建: struct Node { int data; Node* prior; Node* next; }; int Init(Node* L) {//初始化 Node* temp = (Node*)malloc(sizeof(Node)); if (!L) re 阅读全文
posted @ 2020-09-20 14:34 焕不涣 阅读(295) 评论(0) 推荐(0)
摘要:循环链表(C语言) 一:创建循环链表: struct Node { int data; Node* next; }; ​ struct Node* circlecreate(void) {//创建双向链表 struct Node* head; head = (Node*)malloc(sizeof( 阅读全文
posted @ 2020-09-20 13:30 焕不涣 阅读(441) 评论(0) 推荐(0)
摘要:单向链表 一:创建以及初始化: typedef struct node { int elem; struct node* next; }DataNode; ​ typedef struct { int count; DataNode* next; }*LinkHead,LinkNode; ​ int 阅读全文
posted @ 2020-09-20 13:24 焕不涣 阅读(270) 评论(0) 推荐(0)