数据结构
文章平均质量分 88
AX_Chu
这个作者很懒,什么都没留下…
展开
-
数据结构- - - 树
一、几种数据结构存储方式的分析1)数组存储方式的分析优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低。2)链式存储方式的分析优点:在一定程度上对数组存储方式有优化(比如:插入一个数值结点,只需要将插入节点,连接到链表中即可,删除效率也很好)。缺点:在进行检索时,效率仍然较低,比如(检索某个值,需要从头结点开始遍历)。3)树存储方式的分析能提高数据存储,读取的效率,比如利用二叉排序树,既可以原创 2021-05-13 16:26:21 · 3522 阅读 · 1 评论 -
哈希表(散列表)
哈希表散列表(Hash Table),又称哈希表,是一种数据结构,特点是:数据元素的关键字与其存储地址直接相关。通过散列函数Addr=H(key)来建立之间的关系例如 H(key)=key%13 —13为数组长度,但会出现冲突(两个元素在同一个地址)解决冲突的方法1、拉链法- - - 链表存储但在链表存储中冲突越多,查找效率就越低解决查找效率低的方法:设计冲突更少的散列函数,使得平均查找时间变小。常见的散列函数如下:1)除留余数法— H(key)=key % p散列表表长为m,取原创 2021-05-11 16:53:13 · 204 阅读 · 0 评论 -
栈和栈的应用
一、栈1、栈的介绍定义:栈是只允许在一端插入或删除的特定线性表。栈的应用场景:1、子程序的调用:在跳往子程序前,会将下个指令的地址存到堆栈中,直到子程序执行完后再将地址取出,以回到原来的程序中。2、处理递归调用:和子程序调用类似,除了存储下一个指令的地址外,也将参数、区域变量等数据存入堆栈中。3、 表达式的转换[中缀表达式转后缀表达式]与求值(实际解决)—使用操作数栈和运算符栈来完成4、二叉树的遍历—行遍历5、图形的深度优先(depth—first)搜索法。2、使用数组来模拟栈思路分析:原创 2021-04-17 19:47:41 · 2351 阅读 · 0 评论 -
链表-双向链表
一、双向链表1.单向链表的缺点分析:1、单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找2、单向链表不能自我删除,需要靠辅助结点,而双向链表则可以自我删除。2、双向链表的遍历、增删改查操作① 遍历:和单链表一样,只是可以向前,也可以向后② 增加:(默认添加到双向链表的最后)1)先找到双向链表的最后结点2)temp.next=newHeroNode;3) newHeroNode.pre=temp;③ 修改:思路和单向链表一样④ 删除:可以自我删除某个结点1)先找到想原创 2021-04-14 21:44:31 · 700 阅读 · 0 评论 -
链表-单向链表
链表 (Linked List)1.概述:1、 链表是以结点的方式来存储,是链式存储2、 每个结点包含data域,next域;指向下一个结点3、 链表的各个结点不一定是连续地址存放4、链表分带头结点的链表和没有头结点的链表,根据实际的需求来确定2.单向链表的创建、把结点添加到链表尾部(尾插法)缺点:只能根据添加的前后顺序来输出显示2.1 定义一个结点类代码如下:// 定义HeroNode,每个HeroNode的实例对象就是一个结点class HeroNode{ public原创 2021-04-13 22:24:19 · 157 阅读 · 0 评论 -
稀疏数组和队列
数据结构第一天数据结构一、稀疏数组(sparsearray) ---代码参考(sparseArray)二、队列 (Queue)1.概念2.用数组进行队列的创建2.测试自建的队列总结文章目录第一天数据结构一、稀疏数组(sparsearray) ---代码参考(sparseArray)二、队列 (Queue)1.概念2.用数组进行队列的创建2.测试自建的队列总结第一天数据结构数据结构包括:线性结构和非线性结构线性结构:1、 线性结构作为最常用的数据结构,其特点是数据元素之间存在一对原创 2021-04-12 18:56:09 · 142 阅读 · 0 评论 -
常用的十种算法
十种算法1、二分查找算法(非递归)1、介绍:1)二分查找只适用于从有序的数列中进行查找(比如数字和字母等),将数列排序后再进行查找2)二分查找算法的运行时间为对数时间O(log2 n)public class BinarySearchNoRecur { public static void main(String[] args) { // 测试 int[] arr={1,3,8,10,11,67,110}; int index = binar原创 2021-05-29 14:20:31 · 10401 阅读 · 0 评论 -
数据结构 - - - 图
一、图的定义1、图G由顶点集V和边集E组成,记为G=(V,E), |V|表示图G中顶点的个数,也称图G的阶,|E|表示图G中边的条数。注意:线性表可以是空表,树可以是空树,但图不可以是空,即V一定是非空集。2、无向图、有向图顶点v的度,是依附于该顶点的边的条数。无向图中,两个顶点中间无向边用()表示,顺序可以互换。每一条边为两个顶点提供度,当有e条边时,总度为2e。无向图中,两个顶点中间有向边用<>表示,顺序不同则是不同的边。每一条边为一个顶点提供入度,就为另一个顶点提供出度,当有原创 2021-05-19 16:30:03 · 821 阅读 · 0 评论