
数据结构
常用数据结构总结
SlimShadys_
这个作者很懒,什么都没留下…
展开
-
【数据结构】图的常用操作(Java实现)
文章目录图算法图的定义和常用术语图的实现邻接矩阵邻接表图的遍历深度优先搜索算法广度优先搜索算法最短路径Dijkstra算法图算法图的定义和常用术语图是一系列顶点(结点)和描述顶点之间的关系边(弧)组成。图是数据元素的集合,这些数据元素相互连接形成网络。其形式化定义为:G=(V,E)。其中,G表示图,V是顶点的集合,E是边或弧的集合。并且E可以表示为:E=(Vi,Vj),表示顶点Vi和Vj之间有边或弧相连。顶点集:图中具有相同特性的数据元素的集合;边(弧):边是一对顶点间的路径,通常带箭头的原创 2020-06-27 09:13:33 · 1195 阅读 · 1 评论 -
【数据结构】二叉树常用操作(Java实现)
文章目录二叉树二叉树的定义二叉树的实现二叉树的操作遍历先根遍历(Pre Order)中根遍历(In Order)后根遍历(Post Order)层次遍历(Level Traverse)常用操作创建清空判断是否为空求最大深度(高度)求最小深度求所有节点数求叶子节点个数求第k层节点数返回某节点的父亲节点查找节点判断两棵二叉树是否相等判断两棵二叉树是否镜像判断是否为完全二叉树翻转二叉树(镜像二叉树)判断是否是二叉查找树判断是否是平衡二叉树二叉树二叉树的定义二叉树(Binary Tree)二叉树(Binar原创 2020-06-27 09:13:44 · 915 阅读 · 0 评论 -
【数据结构】常见数据结构简述
文章目录基本数据结构数组链表跳表栈队列树平衡二叉树堆散列表图邻接矩阵邻接表逆邻接表十字链表基本数据结构常用的数据结构可根据数据访问的特点分为线性结构和非线性结构。线性结构包括常见的链表、栈、队列等,非线性结构包括树、图等。数组数组可以说是最基本最常见的数据结构。数组一般用来存储相同类型的数据,可通过数组名和下标进行数据的访问和更新。数组中元素的存储是按照先后顺序进行的,同时在内存中也是按照这个顺序进行连续存放。数组相邻元素之间的内存地址的间隔一般就是数组数据类型的大小。链表链表相较于数组原创 2020-06-26 11:57:21 · 1111 阅读 · 1 评论 -
【数据结构】排序算法(Java实现)
文章目录排序算法排序算法说明算法复杂度总结冒泡排序(Bubble Sort)选择排序(Selection Sort)插入排序(Insertion Sort)希尔排序(Shell Sort)归并排序(Merge Sort)快速排序(Quick Sort)堆排序(Heap Sort)排序算法排序算法说明排序的定义对一序列对象根据某个关键字进行排序。术语说明稳定 :如果a原本在b前面,并且a=b,则排序之后a仍然在b的前面;不稳定 :如果a原本在b的前面,而a=b,则排序之后a可能会出现在b的后面原创 2020-06-26 11:36:35 · 560 阅读 · 0 评论 -
【数据结构】查找算法(Java实现)
文章目录查找算法查找算法说明顺序查找(Sequence Search)二分查找(Binary Search)插值查找(Insert Search)查找算法查找算法说明查找定义:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。查找算法分类:静态查找和动态查找注:静态或者动态都是针对查找表而言的。动态表指查找表中有删除和插入操作的表。无序查找和有序查找无序查找:被查找数列有序无序均可有序查找:被查找数列必须为有序数列平均查找长度(Average Se原创 2020-06-26 11:35:14 · 543 阅读 · 0 评论