![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
梦里一声何处鸿
预习笔记&&复习资料
展开
-
《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析
《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析课本源码合辑:课本源码合辑习题集全解析:习题集全解析原创 2020-03-10 16:14:29 · 1286 阅读 · 0 评论 -
第七、八章 排序和查找的实现
第七、八章 排序和查找的实现查找:要求:编程实现两种查找方法:折半查找和二叉排序树;若查找成功,返回元素在有序数组中的位置和查找次数;若查找失败,返回出错标志和查找次数。折半查找:#include <bits/stdc++.h>using namespace std;void binarySearch(int a[8], int n, int key){ int low = 0; int high = n - 1; int times = 0;原创 2020-06-18 11:56:33 · 914 阅读 · 3 评论 -
第六章 图 —— 邻接矩阵/邻接表构造图实现BFS/DFS/Dijkstra算法
第六章 图 —— 邻接矩阵/邻接表构造图实现BFS/DFS/Dijkstra算法要求:(1)采用邻接矩阵/邻接表建立图;(2)采用深度优先/广度优先搜索方式遍历图;(3)编程实现Dijkstra最短路径算法。此处均以无向图为例邻接矩阵:代码如下:#include<cstdio>#include<cstdlib>#include<cstring>#include<bits/stdc++.h>#define MaxVerNum 100 //原创 2020-05-21 10:51:21 · 1183 阅读 · 0 评论 -
第五章 树和二叉树 —— 哈夫曼算法
哈夫曼算法看到例题就懂了最佳前缀码:例题:注意最佳前缀码可能是不唯一的。---------------------------------------↓↓↓↓↓↓↓↓↓↓↓↓↓----------------------------------------以下部分转载自:https://blog.csdn.net/harington/article/details/8420...原创 2020-04-27 09:09:43 · 1013 阅读 · 2 评论 -
第五章 树和二叉树 —— 二叉树的基本操作
二叉树的基本操作编程实现二叉树的先序、中序、后序和层序遍历编程实现非递归中序遍历编程实现:求二叉树的高度和叶子结点个数代码如下:#include <iostream>using namespace std;typedef struct BiTNode{ char data; struct BiTNode *lchild,*rchild;} Bi...原创 2020-04-13 22:20:09 · 378 阅读 · 0 评论 -
第四章 串、数组和广义表 —— BF算法和KMP算法
BF算法和KMP算法文章目录BF算法和KMP算法BF算法KMP算法本节讲的是字符串匹配算法。BF算法这个其实就是暴力匹配,若主串长度为nnn,子串长度为mmm的话此算法的时间复杂度为O(m∗n)O(m*n)O(m∗n)代码如下:#include<bits/stdc++.h>#define OK 1#define ERROR 0#define MAXSTRLEN 25...原创 2020-04-06 19:25:38 · 371 阅读 · 0 评论 -
第四章 串、数组和广义表 —— 顺序串的基本操作
顺序串的基本操作#include<bits/stdc++.h>#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define OVERFLOW -2#define MAXSTRLEN 255typedef int Status;typedef int ElemType;typedef unsigne...原创 2020-04-06 11:21:57 · 258 阅读 · 0 评论 -
第三章 栈和队列 —— 循环队列
循环队列注意:代码如下:#include <iostream>#include <stdlib.h>#define MAXQSIZE 100#define OK 1#define ERROR 0#define OVERFLOW -1typedef int QElemType_CSq;typedef int Status;using nam...原创 2020-03-24 23:10:44 · 284 阅读 · 0 评论 -
第三章 栈和队列 —— 链栈的基本操作
链栈的基本操作清空链栈判断链栈是否为空求链栈长度获取栈顶元素入栈出栈显式链栈注意:以下构建的链栈带有头结点。代码如下:#include <iostream>#include <stdlib.h>#define OK 1#define ERROR 0#define VOERFLOW -1using namespace std;typed...原创 2020-03-24 11:53:08 · 426 阅读 · 0 评论 -
第三章 栈和队列 —— 链队列
链队列先进先出队列的表示和实现:链队列:链式存储循环队列:顺序存储这里我们来说链队列的基本操作清空链队列判断链队列是否为空求链队列长度显示链队列队头位置元素队尾入队队头出队显示链队列代码如下:#include <iostream>#include <stdlib.h>#define OK 1#define ERROR -1#d...原创 2020-03-22 18:26:45 · 382 阅读 · 0 评论 -
第三章 栈和队列 —— 顺序栈的基本操作
顺序栈的基本操作代码如下:#include <iostream>#include <stdlib.h>#define STACK_INIT_SIZE 100//栈初始大小#define STACKINCREMENT 10//每次增加大小#define OK 1#define ERROR 0#define OVERFlOW -2using namesp...原创 2020-03-16 16:55:06 · 393 阅读 · 0 评论 -
第二章 线性表 2.5线性表的链式表示和实现
2.5线性表的链式表示和实现最近在看《明朝那些事儿》颇有感慨,在文章开始之前容我啰嗦几句。昔明太祖朱元璋从一无所有之人到至高无上的皇帝,这期间的艰难困苦一言难尽……但是历史永远的记住了他,而在权力争夺路上倒下的普通人,历史只留下了四个字——灰飞烟灭。没有人会记住他们的名字,没有人会在乎他们的人生。唯有帝王将相才子佳人才有资格留下印记去证明他们来过这个星球。倘若百年之后我年少时写的东西还能有幸被...原创 2020-03-08 18:42:00 · 390 阅读 · 2 评论 -
第二章 线性表 —— 顺序表结构编程实现两集合交并补
顺序表结构编程实现两集合交并补#include <iostream>#include<stdio.h>#include <stdlib.h>using namespace std;#define OK 1#define ERROR 0#define LIST_INIT_SIZE 100#define LISTINCREMENT 10#defi...原创 2020-03-02 11:11:23 · 1644 阅读 · 0 评论 -
第二章 线性表 2.4线性表的顺序表示和实现(2.1——2.4)
2.4线性表的顺序表示和实现上代码!#include <iostream>using namespace std;//定义存储表示typedef int ElemType; //定义int的别名ElemTypetypedef int Status;# define MAXSIZE 100 // 初始化长度# define O...原创 2020-02-25 14:15:43 · 350 阅读 · 1 评论 -
数据结构 第一章 绪论
第一章 绪论定义:数据结构是一门研究非数值计算\red{非数值计算}非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。简单说就是难。慢慢来吧。例如:抽象数据类型(ADT)例如:这个到下一节的线性表用的时候就会了。我们这里为下一章中构造线性表来打基础。1.先来看常用的预定义常量和类型:2.引用引用就是某一变量(目标)的一个别名,对引...原创 2020-02-25 10:06:08 · 363 阅读 · 0 评论