![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
star时光
脚踏实地,主宰时光!
展开
-
数据结构(1)之数组
数组是我们最常见的数据存储结构,我们大部分编程语言都应用到(例如:java,c,c++等)基础概念就不再介绍了,废话不多说直接上例子。首先第一个例子是基础数组的使用。public class BaseArray { private int[] a; private int size;//数组大小 private int e;//数组元素个数 public BaseArray(int max原创 2017-05-13 15:31:16 · 181 阅读 · 0 评论 -
数据结构的特性
Java数据结构和算法 第0讲 综述 参考教材:Java数据结构和算法(第二版),[美] Robert lafore 数据结构的特性对比 数据结构 优点 缺点 数组 插入快;如果知道下标,可以非常快地存取 查找慢,删除慢,大小固定转载 2017-05-14 11:02:17 · 260 阅读 · 0 评论 -
数据结构(2)之栈和队列
栈和队列 栈和队列都是抽象数据类型(abstract data type,ADT),它们既可以用数组实现,又可以用链表实现。 1. 栈 1)栈模型 栈(Stack,又LIFO:后进先出)是一种只能在固定的一端进行插入和删除的数据结构。栈只允许访问一个数据项:即最后插入的数据项,移除这个数据项后才能访问倒数第二个插入的数据项,以此类推。栈可以用数组来实现,也可以用链表来实现。原创 2017-05-14 11:07:58 · 220 阅读 · 0 评论 -
数据结构(4)之递归
递归是函数调用自身的一种特殊的编程技术,其应用主要在以下几个方面:阶乘在java当中的基本形式是:Public void mothed(int n){//当满足某条件时: Mothed(n-1);}递归二分查找Java二分查找实现,欢迎大家提出交流意原创 2017-05-14 15:57:18 · 203 阅读 · 0 评论 -
数据结构(5)之哈希表
一般的线性表、树中,记录在结构中的相对位置是随机的即和记录的关键字之间不存在确定的关系,在结构中查找记录时需进行一系列和关键字的比较。这一类查找方法建立在“比较”的基础上,查找的效率与比较次数密切相关。理想的情况是能直接找到需要的记录,因此必须在记录的存储位置和它的关键字之间建立一确定的对应关系f,使每个关键字和结构中一个唯一的存储位置相对应。因而查找时,只需根据这个对应关系f找到给定值K的像f(原创 2017-05-14 15:59:11 · 242 阅读 · 0 评论 -
数据结构(6)之二叉树
1. 二叉树?答:二叉树是一种树型结构,它的特点是每个结点至多只有二棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能任意颠倒。.二叉树的基本形态:(1)空二叉树;(2)只有一个根结点的二叉树;(3)右子树为空的二叉树;4)左子树为空的二叉树;(5)完全二叉树。二叉树的存储结构 包括:1.顺序存储结构 连续的存储单元存储二叉树的数据元素。例如图原创 2017-05-14 16:00:31 · 304 阅读 · 0 评论 -
数据结构(7)之红—黑树
概念红黑树是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。它是在1972年由Rudolf Bayer发明的,他称之为"对称二叉B树",它现代的名字是在Leo J. Guibas和 Robert Sedgewick 于1978年写的一篇论文中获得的。它是复杂的,但它的操作有着良好的最坏情况运行时间,并且在实践中是高效的:它可以在O(log n)时间内转载 2017-05-14 16:01:55 · 215 阅读 · 0 评论 -
数据结构(8)之堆
堆1.堆排序定义 n个关键字序列Kl,K2,…,Kn称为堆,当且仅当该序列满足如下性质(简称为堆性质): (1)ki≤K2i且ki≤K2i+1或(2)Ki≥K2i且ki≥K2i+1(1≤i≤ ) 若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的关键字均不大于(或不小于)其左右转载 2017-05-14 16:03:15 · 308 阅读 · 0 评论 -
数据结构(9)之带权图
1. 带权图中,边带有一个数字,叫做权,它可能代表距离、耗费、时间或其他意义。2. 带权图用来最常解决的问题是最短路径问题(pps)。3. 带权图的最小生成树中有所有的顶点和连接它们的必要的边,且这些边的权值最小。4. 优先级队列的算法可用于寻找带权图的最小生成树。5. 解决无向带权图的最小生成树的方法1)转载 2017-05-14 16:05:43 · 6627 阅读 · 0 评论