![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
数据结构与简单算法(偶尔有简单题目与代码)
锋魂
这个作者很懒,什么都没留下…
展开
-
关于快速排序
关于快速排序的一些知识以及代码实现快速排序算法通过多次比较和交换来实现排序,其排序流程如下:(1)首先设定一个分界值,通过该分界值将数组分成左右两部分。(2)将大于或等于分界值的数据集中到数组右边,小于分界值的数据集中到数组的左边。此时,左边部分中各元素都小于或等于分界值,而右边部分中各元素都大于或等于分界值。(3)然后,左边和右边的数据可以独立排序。对于左侧的数组数据,又可以取一个分界...原创 2019-12-26 20:20:46 · 376 阅读 · 0 评论 -
关于堆排序
关于堆排序的一些知识和代码(以最大堆为例)堆排序实现的方法:利用堆的父节点大于子节点的特性来进行不断建堆使得最上面的元素始终未整个数组中的最大值,然后将该堆的最大值删除(放置于堆尾,即将堆的顶部与尾部元素进行交换),然后重复进行建堆操作,即可以实现对一个数组进行排序。堆中元素在数组中的位置:若父节点位置为A,则左子节点的位置为2A+1,右子节点的位置为2A+2.代码实现:public ...原创 2019-12-26 19:35:26 · 165 阅读 · 0 评论 -
Thread Tree(线索二叉树)
Thread Tree(线索二叉树)定义:在二叉树的结点上加上线索的二叉树称为线索二叉树,对二叉树以某种遍历方式(如先序、中序、后序或层次等)进行遍历,使其变为线索二叉树的过程称为对二叉树进行线索化。二叉树的遍历本质上是将一个复杂的非线性结构转换为线性结构,使每个结点都有了唯一前驱和后继(第一个结点无前驱,最后一个结点无后继)。对于二叉树的一个结点,查找其左右子女是方便的,其前驱后继只有在遍...原创 2019-12-25 21:19:10 · 724 阅读 · 0 评论 -
栈的一个应用—关于中缀和后缀表达式求值
栈的一个应用—关于中缀和后缀表达式求值中缀表达式直接转化为后缀表达式求值:import java.util.Stack;public class Suffix { static Stack<Character> op = new Stack<>(); /*将中缀表达式转化为后缀表达式*/ public static String tosuffix...原创 2019-12-25 17:31:58 · 150 阅读 · 0 评论 -
数据结构之栈与队列
数据结构之栈与队列栈与队列栈的定义以及性质:栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。栈:后进先出(LIFO-las...原创 2019-12-25 10:52:18 · 123 阅读 · 0 评论 -
数据结构之链表与线性表
数据结构之链表与线性表线性表(顺序线性表)顺序表(顺序线性表):使用数组实现,一组地址连续的存储单元,数组大小有两种方式指定,一是静态分配,二是动态扩展。优点:随机访问特性,查找O(1)时间,存储密度高;逻辑上相邻的元素,物理上也相邻;缺点:插入删除需移动大量元素。只需要输入对应的位置即可取出,所以复杂度为O(1),即查找一个元素的时间复杂度为O(Length),而平均查找长度AC...原创 2019-12-24 22:00:24 · 475 阅读 · 1 评论 -
数据结构之哈希
数据结构之哈希散列方法:利用散列函数进行散列。常见的散列函数:(1)取余法:H( Key ) = Key % M(2)平方取中法:H( Key ) = Key2 的中间部分,其长度取决于表的大小。(3)乘法杂凑函数:H( Key ) = M * (( * Key ) % 1 )如何解决经过hash后两数的hash值是同一个的问题:解决方法:(1)开地址法:将hash值相同的两个值...原创 2019-12-23 20:14:05 · 145 阅读 · 0 评论 -
数据结构之树
数据结构之树(含代码)树的基本概念子树的个数没有限制,但它们一定是互不相交的树的结点包含一个数据元素及若干指向其子树的分支;结点拥有的子树数称为结点的度;度为0的结点称为叶结点或终端结点;度不为0的结点称为非终端结点或分支结点;除根结点之外,分支结点也称为内部结点;树的度是树内各结点的度的最大值。结点的层次从根开始定义起;树中结点的最大层次称为树的深度或高度;如果将树中结点的各子树看成...原创 2019-12-10 23:44:14 · 160 阅读 · 0 评论