数据结构
数据结构的学习
想了半天也不知道取什么名字
萌新上道
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构第十四天——几种常见的排序算法
代码】数据结构第十四天——几种常见的排序算法。原创 2022-08-02 18:35:14 · 87 阅读 · 0 评论 -
数据结构第十三天——顺序查找、二分查找和哈希查找
无原创 2022-06-06 19:54:18 · 503 阅读 · 0 评论 -
数据结构第十二天——普利姆算法和迪杰斯特拉算法
无原创 2022-06-04 17:44:14 · 2825 阅读 · 0 评论 -
数据结构第十一天——图的遍历、邻接表
图(Graph)是由顶点 (Vertex) 的有穷非空集合 和顶点之间边的集合组成,通常表示为:G(V, E) , 其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。 一、图的遍历 总代码 #include<stdio.h> #include<stdlib.h> int *visitedPtr; /** *队列 */ typedef struct GraphNodeQueue{ int *nodes; int front; int rear;..原创 2022-05-30 21:27:50 · 303 阅读 · 0 评论 -
数据结构第十天——N皇后问题,哈夫曼树的编码与解码
一、N皇后问题 #include<stdio.h> #include<stdlib.h> #include<math.h> int place(int *paraSolution, int paraT) { int j; for (j = 1; j < paraT; j ++) { if ((abs(paraT - j) == abs(paraSolution[j] - paraSolution[paraT])) || paraSolution[j]原创 2022-05-27 19:18:23 · 238 阅读 · 0 评论 -
数据结构第九天——二叉树的构建与遍历
1、树的创建 typedef struct BTNode{ char element; struct BTNode *left; struct BTNode *right; } BTNode, *BTNodePtr; 2、队列的创建 typedef struct BTNodePtrQueue{ BTNodePtr *nodePtrs; int front; int rear; } BTNodePtrQueue, *QueuePtr; 3、队列初始化 QueuePtr initQu原创 2022-05-23 17:03:34 · 170 阅读 · 0 评论 -
数据结构第八天——二维数组及矩阵乘法,还有压缩矩阵的转置
第一首先是矩阵乘法 #include<stdio.h> #include<stdlib.h> /** *动态二维数组 */ typedef struct TwoDArray{ int rows; int columns; int **elements; } TwoDArray, *TwoDArrayPtr; /** *静态二维数组 */ typedef struct TwoDStaticArray{ int rows; int columns; i原创 2022-05-18 22:10:42 · 341 阅读 · 0 评论 -
数据结构第七天——队列,循环队列
一、队列 #include<stdio.h> #include<stdlib.h> /** *队列结点 */ typedef struct LinkNode{ int data; struct LinkNode *next; } *LinkNodePtr; /** *链队列 */ typedef struct LinkQueue{ LinkNodePtr front; LinkNodePtr rear; } *LinkQueuePtr; /**原创 2022-05-16 13:26:27 · 358 阅读 · 0 评论 -
数据结构第六天——累加的递归,汉诺塔
一、累加的递归 核心代码 int addTo(int paraN) { int tempSum; printf("entering addTo(%d)\n", paraN); if (paraN <= 0) { printf(" return 0\n"); return 0; } else { tempSum = addTo(paraN - 1) + paraN; printf(" return %d\n", tempSum); return tempSum原创 2022-05-11 19:39:00 · 359 阅读 · 0 评论 -
数据结构第五天——栈及部分应用
包含栈的一些基本功能,还有部分应用,括号匹配和表达式求值 一、栈的基本功能 1.建立 typedef struct CharStack{ int top; char data[10]; } *CharStackPtr; 2.初始化 CharStackPtr charStackInit() { CharStackPtr resultPtr = (CharStackPtr)malloc(sizeof(struct CharStack)); resultPtr->top = -1;原创 2022-05-10 13:13:14 · 329 阅读 · 0 评论 -
数据结构第四天——多项式加法
核心加法 void add(NodePtr paraList1, NodePtr paraList2){ NodePtr p, q, r, s; p = paraList1->next; printNode(p, 'p'); q = paraList2->next; printNode(q, 'q'); r = paraList1; printNode(r, 'r'); free(paraList2); while ((p != NULL) && (原创 2022-05-04 21:28:02 · 876 阅读 · 0 评论 -
数据结构第三天——双向链表、静态链表
首先是双向链表 1.创建 typedef struct DoubleLinkedNode{ char data; struct DoubleLinkedNode *previous; struct DoubleLinkedNode *next; } DLNode, *DLNodePtr; 2.初始化 DLNodePtr initLinkList(){ DLNodePtr tempHeader = (DLNodePtr)malloc(sizeof(DLNode)); tempHeader原创 2022-05-02 12:58:59 · 642 阅读 · 0 评论 -
数据结构第二天——单链表
1.创建 typedef struct LinkNode{ char data; struct LinkNode *next; } LNode, *LinkList, *NodePtr; 2.初始化有头结点的链表 LinkList initLinkList(){ NodePtr tempHeader = (NodePtr)malloc(sizeof(LNode)); tempHeader->data = '\0'; tempHeader->next = NULL; retu原创 2022-04-27 20:39:20 · 374 阅读 · 0 评论 -
数据结构第一天——线性表
创建线性表 typedef struct SequentialList { int data[LIST_MAX_LENGTH]; int actuallength; } *SequentialListPtr; 输出线性表 void outputList(SequentialListPtr paralist) { int i; for(i = 0; i < paralist->actuallength; i ++) { printf("%d ", paralist-&g原创 2022-04-25 22:58:06 · 92 阅读 · 0 评论
分享