数据结构
BlackDn
单击此处添加简介
展开
-
数据结构基本概念,ADT以及算法评估
数据结构声明:教材为《数据结构(C语言第二版)》,严蔚敏,李冬梅,吴伟民编著前言:博客的写作出于个人意愿。本来是想来总结每周课程的,但为了方便和大家一起学习,我尽量偏向半总结半学习,用更通俗的语言来说明。有不懂的、建议、或是不对的地方请指出哟Chapter_one 绪论一、基本概念数据:所有输入计算机并被处理的符号的总称数据元素:数据的基本单位。如一名学生的记录,棋盘的一个格局等数...原创 2019-02-28 21:11:45 · 1154 阅读 · 0 评论 -
数组元素过多应该怎么处理?
数组元素过多应该怎么处理?我们在编程的时候,经常要运用数组。但它有一个众所周知的缺点,就是要在使用前就规定它的长度。那是不是说我规定一个贼大的数不就完事?当然不行了,为什么呢?我们先从内存空间讲起。首先要知道,在你家的编译器看来,内存分为栈内存、堆内存和静态存储区,这里只是粗略介绍一下。栈内存是编译器自动分配和释放的空间,存一些局部变量啦栈是一块连续的内存区域,大小是操作系统预定好...原创 2019-03-04 21:53:33 · 3000 阅读 · 0 评论 -
线性表的表示与实现
Chapter_two 线性表线性表:数据特性相同的元素构成的有限序列空表:线性表中元素个数为0非空线性表或线性结构特点:唯一的第一个数据元素唯一的最后一个数据元素除第一个,每个元素有一个前驱除最后一个,每个元素有一个后继对普通一元多项式求值,不改变系数和指数,可用数组,只储存多项式的系数;但对于稀疏多项式,数组会导致空间浪费。而且在一般情况下,容易出现数组太小,不够存储。另外...原创 2019-03-10 11:53:07 · 579 阅读 · 0 评论 -
形参的种类及其能否改变实参
形参的种类及其能否改变实参函数的形参主要可分为地址和非地址,每种可再分为有无取地址符&。**取地址符&**的作用是让函数运行时不开辟新的空间,不产生新的形参,而是根据地址直接到函数外找到传入的实参,对实参进行操作,因此只要有&都是可以改变形参的。在这里说明,由于数组名的实质是整个数组首元素的地址,因此其也算地址。于是大致可以分为以下四类,在此一一说明。传入地址...原创 2019-03-10 18:38:29 · 4142 阅读 · 1 评论 -
基于KMP算法的字符匹配问题
基于KMP算法的字符匹配问题反正整个清明都在纠结这玩意…差点我以为下个清明要给自己过了。至于大体的理解,我就不再多说了(还要画图多麻烦鸭),我参考了以下两个博客,写的真的不错。(原创)详解KMP算法 :图画的很棒,很好理解,一步步带你深入KMP算法最浅显理解——一看就明白:对主要的疑问有很细致地回答需要注意的是,两篇博客都是以字符数组下标为0处开始存储我对next数组不是很理解,说是n...原创 2019-04-10 19:34:07 · 182 阅读 · 0 评论 -
单链表功能的实现
单链表功能的实现针对数据结构中单链表的ADT,我用C++对各种功能进行了实例化。不过有些功能没有对链表是否为空进行判断,比如删除等…不过大部分功能还是能正常运行的。大致运行结果的截图如下:这里是代码#include<iostream>using namespace std;typedef struct Node { int data; Node *next;}...原创 2019-04-11 09:42:14 · 341 阅读 · 0 评论 -
图的邻接矩阵和邻接表及深度优先搜索
图的邻接矩阵和邻接表转自:https://www.cnblogs.com/luoyang0515/p/10843932.html许多人到这一块会比较混乱,特别是邻接表,定义的东西很多,同时也为自己做一个总结。打算以图的深度优先搜索为例,分别表示邻接矩阵和邻接表。开始前,为了方便大家对命名的记忆,列出了以下常用单词:vertex/vertices:顶点arc:弧matrix:矩阵a...转载 2019-05-10 13:40:49 · 2071 阅读 · 1 评论