
数据结构
文章平均质量分 70
lew-yu
https://github.com/lewyu
展开
-
Java19 虚拟线程原理介绍及实现
本文介绍了 Java 线程模型、Java 虚拟线程的使用、原理和适用场景,并与流行的 Go 协程 进行了比较,也发现了两种实现方式的相似之处,希望对大家理解 Java 虚拟线程有所帮助。原创 2022-11-02 14:42:27 · 5164 阅读 · 0 评论 -
【图片URL、图片文件转base64】与【图片URL、图片文件压缩字节流后再转base64】
【图片转base64】与【图片压缩字节流后再转base64】原创 2022-09-06 18:43:48 · 1297 阅读 · 0 评论 -
(考研)数据结构中的重难点算法
【(考研)数据结构中的重难点算法】 KMP 构造哈夫曼树 普里姆算法 克鲁斯卡尔 迪杰斯特拉 树 图遍历算法原创 2018-11-08 18:48:10 · 12051 阅读 · 0 评论 -
胜者树与败者树
转载自博文 胜者树与败者树         胜者树和败者树都是完全二叉树,是树形选择排序的一种变型。每个叶子结点相当于一个选手,每个中间结点相当于一场比赛,每转载 2018-10-20 09:54:17 · 662 阅读 · 0 评论 -
外部排序
#一 外部排序的基本思路假设有一个72KB的文件,其中存储了18K个整数,磁盘中物理块的大小为4KB,将文件分成18组,每组刚好4KB。首先通过18次内部排序,把18组数据排好序,得到初始的18个归并段R1~R18,每个归并段有1024个整数。然后对这18个归并段使用4路平衡归并排序:第1次归并:产生5个归并段R11 R12 R13 R14 R15其中R11是由...原创 2018-10-20 09:10:09 · 1725 阅读 · 0 评论 -
排序算法代码实现
本文旨在已经理解前提下,进行c++实现插入排序希尔排序选择排序冒泡排序全部代码原创 2018-09-16 22:52:53 · 214 阅读 · 0 评论 -
常用查找数据结构及算法
目录一、基本概念二、无序表查找三、有序表查找3.1 二分查找(Binary Search)3.2 插值查找3.3 斐波那契查找四、线性索引查找4.1 稠密索引4.2 分块索引4.3 倒排索引五、二叉排序树六、 平衡二叉树七、多路查找树(B树)7.1 2-3树7.2 2-3-4树7.3 B树7.4 B+树八、散列表(哈希表)8.1 散列函数的构造方法8.2 ...转载 2018-09-13 15:32:48 · 884 阅读 · 0 评论 -
十大经典排序算法(动图演示)
转载自原文地址 十大经典排序算法(动图演示) 0、算法概述 0.1 算法分类 十种常见排序算法可以分为两大类: 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。 线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序...转载 2018-09-13 15:25:26 · 186 阅读 · 0 评论 -
二叉树的遍历 及求深度、叶子数
一、基本概念每个结点最多有两棵子树,左子树和右子树,次序不可以颠倒。性质:1、非空二叉树的第n层上至多有2^(n-1)个元素。2、深度为h的二叉树至多有2^h-1个结点。3、对任何一棵二叉树T,如果其终端结点数(即叶子结点数)为n0,度为2的结点数为n2,则n0 = n2 ...原创 2018-08-16 23:01:23 · 23070 阅读 · 8 评论 -
KMP算法 Next数组
最近在看数据结构KMP算法。本文针对求Next[ ] 数组。 KMP的解释,以及代码实现到处都是,自行google、百度,就不再这里贴了。 相信很多人在求解next数组时遇到了瓶颈,各种博客论坛的解决方案也各不相同,有的甚至是错误的,那么next数组到底是怎么求的呢?1.在求next数组之前,首先我们求“公有元素个数”,之后求next会用到。 举个例子: 模式串:abaabcac...原创 2018-07-25 12:21:17 · 981 阅读 · 1 评论