- 博客(22)
- 收藏
- 关注
原创 数据结构--图的构建与遍历
特点:多个对多个 顶点和边的集合:G=(V,E),V:顶点的有穷非空集合,E:边的有穷集合 完全图:任意两个点都有一条边相连 稀疏图:很少边或弧的图(e<nlogn) 稠密图:有较多边或弧 网:边或弧带权的图 邻接:有边或弧相连的两个顶点之间的关系 关联或依附:边或弧与顶点的关系 顶点的度:与顶点相关联的边的数目 路径:接续的边构成的顶点序列 路径长度:路径上边和弧的数目/权值的和 回路/环:第一个顶点和最后一个顶点相同的路径 简单回路:除了路径的起点和终点可以相同,其余顶
2022-05-30 16:45:57
771
原创 数据结构--哈夫曼树
树的路径长度:从树根到每一个结点的路径长度之和 节点数目相同的二叉树,完全二叉树是路径长度最短的二叉树 权:给树的结点赋给一个有着某种含义的数值,该值为权 结点的带权路径长度:从根结点到该节点的路径长度与该结点的权的乘积 树的带权路径长度:树中所有的叶子结点的带权路径长度之和 哈夫曼树:带权路径长度最短的树(比较的“度相同”的树) 权值越大的叶子离根最近 贪心算法:构造哈夫曼树时首先选择权值小的叶子结点 哈夫曼树的构造:1.首先根..
2022-05-29 20:53:46
1512
3
原创 数据结构--N皇后问题
问题描述:有一个n*n的棋盘,在这个棋盘中放n个皇后,使得这n个皇后,任意两个皇后不在同一行,同一列,同一条对角线。例如,当n等于4时,有两种摆法。我们使用回溯法解决:代码如下:#include <stdio.h>#include <stdlib.h>#include <malloc.h>#include <math.h>bool ismeetcondition(int *solution,int paraT){ ...
2022-05-26 10:48:23
312
原创 数据结构--二叉树的构建与遍历
二叉树的层次构建与先中后序遍历:代码:#include <stdio.h>#include <stdlib.h>#include <malloc.h>#include <string.h>#include <math.h>#define OVERFLOW 1#define MAX_SIZE 10typedef struct Btnode_{ int elem; Btnode_ *left; Btnode_ *righ
2022-05-24 16:53:57
180
原创 数据结构--转置压缩矩阵
压缩矩阵的转置:上代码:#include <stdio.h>#include <stdlib.h>#include <malloc.h>#include <random>typedef struct location_{ int elem; int order;}Location,*location;typedef struct Locainf_{ int row; int column; int elem;}Locai
2022-05-19 12:47:29
102
原创 数据结构--二维矩阵及其乘法
代码如下:#include <stdio.h>#include <stdlib.h>#include <malloc.h>#include <random>#define ROWS 4#define COLUMNS 5typedef struct Twodimensionalmatrix_{ int rows; int columns; int **elements;}Twodimensionalmatrix,*twodimens
2022-05-19 11:18:18
837
原创 数据结构--循环队列
循环队列的基本功能:#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_SIZE 1000#define OVERFLOW 1typedef struct CircleIntQueue{ int data[MAX_SIZE]; int head; int tail;}CircleIntQueuer,*circleintqueue;circleintqueue in
2022-05-16 13:35:35
185
原创 数据结构--链队列
链队列的相关操作:#include <stdio.h>#include <malloc.h>#include <stdlib.h>#define MAX_SIZE 100#define OVERFLOW 1typedef struct LinkNode_{ int data; LinkNode_ *next;}LinkNode,*linknode;typedef struct LinkQueue_{ linknode front; link
2022-05-16 12:06:06
225
原创 数据结构--汉诺塔
经典的递归问题:汉诺塔上代码:#include <stdio.h>#include <stdlib.h>int time=0;void move(int n,char start,char transfer,char objective){ time++; if (n==1){ printf("%c-->%c\n",start,objective); } else { move(n-1,start,
2022-05-11 22:57:28
560
原创 数据结构: 累加的递归实现
最简单的递归,没啥好说的:#include <stdio.h>#include <stdlib.h>int tot=0;void addto(int number){ if (number <= 0){ printf("Final:total=%d\n",tot); } else{ printf("Now total: %d=%d+%d\n",tot+number,tot,number); tot=tot+number
2022-05-11 22:19:02
118
原创 数据结构--表达式括号匹配和运算
多项式括号匹配:#include <stdio.h>#include <malloc.h>#define STACK_MAX_SIZE 10//创建栈结构体 typedef struct charStack{ int top; int data[STACK_MAX_SIZE];}*stackPtr; //输出栈void outputStack(stackPtr paraStack){ for(int i=0;i<=paraStack->.
2022-05-09 20:02:07
521
原创 数据结构--栈
栈的基本操作:#include <stdio.h>#include <string.h>#include <stdlib.h>#define overflow 1#define MAXSIZE 11typedef struct node_{ int *top; int *bottom; int length;}*node,Node;//初始化void inistack(node &l){ l=(node)ma
2022-05-09 19:38:34
431
原创 数据结构--多项式的加法
先上代码:多项式加法#include <stdio.h>#include <string.h>#include <stdlib.h>#define overflow 1#define MAXSIZE 11typedef struct LinkNode_{ int coefficient; int exponent; struct LinkNode_ *next;} LinkNode,*linkNode; linkNode initLinkLi.
2022-05-04 20:00:48
292
原创 数据结构--静态链表
先上代码:静态链表的相关操作#include <stdio.h>#include <string.h>#include <stdlib.h>#define overflow 1 #define MAXSIZE 11 typedef struct StaticLinkedNode_{ int data; int next;}StaticLinkedNode;typedef struct node_{ StaticLinkedNode *datas;
2022-05-02 22:36:56
207
原创 数据结构--双向链表
先上代码:双向两边的基本操作#include <stdio.h>#include <string.h>#include <stdlib.h>#define overflow 1typedef struct node_{ int data; struct node_ *next; struct node_ *precursor;}Node,*node;void initList(node *l);void insertNode(node *l,i.
2022-05-02 21:20:04
1342
1
原创 HTML及CSS基础1
前言:前段时间刚学完HTML和CSS,主要方式是通过看视频加自己练手,但是学完总感觉不太熟练。正好现在也空下来了,于是就又买来一本书系统的慢慢复习一遍,就用这篇文章来记录我的复习吧一.基本的认识:1.什么是HTML及浏览器如何确定显示HTML?HTML是超文本标记语言(Hyper Text Markup Language)的缩写。正如其名,HTML就是提供了一种用标记“标示”文本的方法,当然HTML也有另外一个方面,就是“超文本”的,超文本是用超链接的方法,将各种不同空间的文字信息组织在一起
2022-05-01 17:36:32
189
原创 数据结构刷题
给你两个按 非递减顺序 排列的整数数组nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。示例 1:输入:nums1 = [1..
2022-04-27 19:44:15
60
原创 数据结构-单链表
这是作业,本人菜鸡,大佬绕道单链表的相关操作;#include <stdio.h>#include <string.h>#include <stdlib.h>#define overflow 1typedef struct node_{ int data; struct node_ *next;}node;void initList(node *l);void insertNode(node *l,.
2022-04-27 14:51:45
1173
原创 数据结构题目1
给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。示例 1:输入:nums = [1,2,3,1]输出:true示例 2:输入:nums = [1,2,3,4]输出:false示例3:输入:nums = [1,1,1,3,3,4,3,2,4,2]输出:true提示:1 <= nums.length <= 105-109 <= nums[i] <= 109...
2022-04-26 09:25:00
1417
原创 数据结构-线性表
此处只演示创建,清空,返回第i个位置的值 ,返回和e相同的值#include <iostream>#include <stdlib.h>#define LIST_MAX_LENGTH 100int overflow=0;typedef struct SequentialList { int actualLength; int *data; //The maximum length is fixed.} SequentialListPtr;void
2022-04-25 16:36:05
289
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人