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

浙公网安备 33010602011771号