数据结构-学习笔记
数据结构的学习过程记录
大飞果果
学习技术,提高技术,分享技术
展开
-
什么是算法?
算法是解决待定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。算法就是描述解决问题的方法。算法的五个基本特性:输入、输出、有穷性、确定性、可行性。输入:>=0输出:>0有穷性:指算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每一个步骤在可接受的时间内完成。确定性:算法的每一步骤都具有确定的含义,不会出现二义性。可行性:算法的每一步都必须是可行的,也就是说,每一步都能够通过执行有限次数完成。算法的设计...原创 2020-05-15 16:29:34 · 9791 阅读 · 1 评论 -
数据结构-树
树(Tree)是n(n>=0)个节点的有限集。n=0时称为空树。在任意一个非空树中:(1)有且仅有一个特定的称为根(Root)的节点;(2)当n>1时,其余节点可分为m(m>0)个互不相交的有限集T1,T2.......Tm,其中每一个集合本身又是一棵树,并且称为根的子树(Sub Tree).结点分类:结点拥有的子节点树称为结点的度(Degree).度为0的结点,称为叶结点或终端节点度不为0的结点称为非终端节点或分支结点。除根结点之外,分支结点也成为内部..原创 2020-05-15 16:25:30 · 175 阅读 · 0 评论 -
程序员必须知道的10大基础实用算法及其讲解
程序员必须知道的10大基础实用算法及其讲解1、快速排序介绍:快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,且在大部分真实世界的数据,可以决定设计的选择,减少所需时间的二次方项之可能性。步骤:从数列中挑出一个元素,称为 "基准"(.原创 2020-05-15 16:18:31 · 523 阅读 · 0 评论 -
数据结构-栈与队列
栈:栈是限定仅在表尾进行插入和删除操作的线性表。队列:队列是只允许在一段进行插入操作,而在另一端进行删除操作的线性表。我们把允许插入和删除的一端称为栈顶,另一端称为栈底;------栈又称为后进先出的线性表后进先出(Last In First Out 简称为LIFO结构)栈的插入操作,叫做进栈,也称压栈、入栈。栈的删除操作,叫做出战,也称弹栈。栈的顺序存储结构:栈是线性表的特例,站的顺序存储结构也是线性表存储的简化。栈的链式存储结构...原创 2020-05-15 16:11:24 · 192 阅读 · 0 评论