
数据结构
文章平均质量分 90
shu_8708
熟悉51系列与ARM系列单片机的开发,能熟练使用.NET框架设置窗口程序,使用Python进行算法设计
展开
-
数据结构之栈
栈的定义栈(stack)是限定于在表尾进行插入和删除操作的线性表可以理解为先进先出,后进后出的数据结构栈的基本操作1.Push将数据压入栈中,压出的数据成为新的栈顶2.Pop获取栈顶数据,并释放,原栈顶后一个元素成为新栈顶栈的分类1.顺序存储结构栈用一段内存作为栈的存储空间,top指向栈顶元素的下标2.共享空间栈两个类型的原创 2017-11-17 11:43:07 · 271 阅读 · 0 评论 -
数据结构之队列
队列的概念队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表两种队列的实现1.静态队列利用一个定长数组作为队列的存储空间,确定一个指向开头数据下标的变量head以及一个指向最后一个数据的下表的tail操作中入队时:如果队列中仍然有存储空间tail加一将数据插入队列尾部,如果tail大于数组长度MAX_SIZE-1则将tail指向0原创 2017-11-19 12:05:21 · 286 阅读 · 0 评论 -
数据结构之图的创建
1.图的定义图(Graph):是由顶点的又穷非空集合和定点之间的边集组成,通常表示为G(V,E),其中G表示一个图,V是其顶点集合,E是其边集合。有向图(Directed graphs): 任意两个点之间的边都是有向边。入度(InDegree):以顶点为v为头的弧的数目称为入度。出度(OutDegree):以顶点v为尾的弧的数目成为出度。 2.图的存储结构常见原创 2018-01-21 14:24:13 · 24285 阅读 · 3 评论 -
数据结构之二叉树
二叉树结构 1.递归思想大学时期对递归一直不是很清晰,其实大部分情况下能通循环最好就使用循环,因为递归不断调用函数会导致程序运行效率下降。递归的有点在简化思路,程序员只需要考虑当前步骤需要做什么,我的理解中递归的实现需要的是可重复的步骤以及递归的终止条件,在实际情况中,很多问题用循环实现会很难实现,简单的例子就是快速排序算法,使用递归思路很简单,而使用循环。。。那可能还需要一个栈的数据结构存放节点原创 2018-03-05 14:27:31 · 301 阅读 · 0 评论 -
Python由数据结构树引发的思考(可变对象/不可变对象,深拷贝/浅拷贝)
数据类型二叉树之前就有写过,我曾一直认为,因为Python没有指针操作,所有实现起来会有麻烦,应该会用数组插入数组的方法进行实现。然后进行了尝试:class Node: date=None left=None right=Noneclass Tree: def __init__(self): self.Root=Node() ...原创 2018-04-15 08:59:07 · 357 阅读 · 0 评论