小熊博客
【数据结构与算法】最小生成树 【数据结构与算法】最小生成树
1 引言 在之前的文章中已经详细介绍了图的一些基础操作。而在实际生活中的许多问题都是通过转化为图的这类数据结构来求解的,这就涉及到了许多图的算法研究。 例如:在 n 个城市之间铺设光缆,以保证这 n&nb
【数据结构与算法12】程序员10大算法之二分查找算法 【数据结构与算法12】程序员10大算法之二分查找算法
算法分析二分查找算法的特点: 二分查找法只适用于从有序的数列中进行查找(比如数字和字母等),将数列排序后再进行查找; 二分查找法的运行时间为对数时间 O(㏒₂n) ,即查找到需要的目标位置最多只需要㏒₂n 步; 假设从[0,99]的队列
【数据结构与算法11】图 【数据结构与算法11】图
参考:https://blog.csdn.net/qq_45596525/article/details/110038250 1. 图基本介绍1.1 为什么要有图?1)前面我们学了线性表和树2)线性表局限于一个直接前驱和一个直接后继的关系3
【数据结构与算法10】树结构实际应用 【数据结构与算法10】树结构实际应用
树结构实际应用1. 堆排序基本介绍1、堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为 O(nlogn),它也是不稳定排序。2、堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其
【数据结构与算法09】线索化二叉树 【数据结构与算法09】线索化二叉树
线索化二叉树1. 什么是线索化二叉树?将数列 {1, 3, 6, 8, 10, 14} 构建成一颗二叉树 问题分析: (1)当我们对上面的二叉树进行中序遍历时,数列为 {8, 3, 10, 1, 14, 6 } (2)但是 6, 8, 10
【数据结构与算法08】顺序存储二叉树 【数据结构与算法08】顺序存储二叉树
顺序存储二叉树1. 顺序存储二叉树的概念基本说明从数据存储来看,数组存储方式和树的存储方式可以相互转换,即数组可以转换成树,树也可以转换成数组,看示意图。 要求: 右图的二叉树的结点,要求以数组的方式来存放 arr : [1, 2, 3,
【数据结构与算法07】二叉树 【数据结构与算法07】二叉树
持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第7天,点击查看活动详情 二叉树1. 为什么需要树这种数据结构?1) 数组存储方式的分析 优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。
【数据结构与算法06】哈希表 【数据结构与算法06】哈希表
哈希表哈希表的基本介绍散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数
【数据结构与算法05】查找算法 【数据结构与算法05】查找算法
查找算法概述查找算法介绍在 java 中,我们常用的查找算法有四种: 顺序(线性)查找 二分查找/折半查找 插值查找 斐波那契查找 线性查找算法有一个数列: {1,8, 10, 89, 1000, 1234} ,判断数列中是否包含此名称
【数据结构与算法04】排序算法 【数据结构与算法04】排序算法
排序算法概述排序也称排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程。 排序的分类 内部排序: 指将需要处理的所有数据都加载到内部存储器(内存)中进行排序。 外部排序法: 数据量过大,无法全部加
【数据结构与算法03】递归 【数据结构与算法03】递归
递归认识递归 递归应用场景 看个实际应用场景,迷宫问题(回溯), 递归(Recursion) 递归的概念 简单的说:递归就是方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。 递归
【数据结构与算法02】链表 【数据结构与算法02】链表
链表LinkedList链表是有序的列表,但是它在内存中是存储如下特点: 链表是以节点的方式来存储,是链式存储 每个节点包含 data 域, next 域:指向下一个节点。 如图:发现链表的各个节点不一定是连续存储 链表分带头节点的链表和
1 / 2