viidqgcg2s2nk_个人页

个人头像照片 viidqgcg2s2nk
个人头像照片
68
0
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2022年05月

  • 05.06 16:24:12
    发表了文章 2022-05-06 16:24:12

    数据结构与算法——二叉树(下)

    前面的文章说到了二叉树,其实今天讲的二叉搜索(查找)树就是二叉树最常用的一种形式,它支持高效的查找、插入、删除操作,它的定义是这样的:对于树中的任意一个节点,其左子节点值必须小于该节点,其右子节点必须大于该节点。
  • 05.06 16:22:06
    发表了文章 2022-05-06 16:22:06

    Spring Boot 项目打成 war 包部署到 Tomcat

    要知道,Spring Boot 的项目,默认是打为 jar 包的,这时候问题就来了,如果我想打成 war 包部署到 Tomcat,该怎么做呢?又是在网上找了半天的答案,质量不太好,绕来绕去没说个明白。其实还算是非常简单的,只需要大概几个步骤就行了。
  • 05.06 16:08:52
    发表了文章 2022-05-06 16:08:52

    数据结构与算法——广度和深度优先搜索

    前面说到了图这种非线性的数据结构,并且我使用了代码,简单演示了图是如何实现的。今天就来看看基于图的两种搜索算法,分别是广度优先搜索和深度优先搜索算法,这两个算法都十分的常见,在平常的面试当中也可能遇到。
  • 05.06 16:06:17
    发表了文章 2022-05-06 16:06:17

    数据结构与算法——二叉树(上)

    前面说到的几种数据结构都是线性的,例如链表、栈、队列等,今天就来学习一种非线性的数据结构——树。
  • 05.06 16:04:31
    发表了文章 2022-05-06 16:04:31

    如何在 IDEA 中配置 tomcat,运行 web 项目?

    如何在 IDEA 中配置 tomcat,运行 web 项目?对这个问题找了很久的答案,各种参差不全,其实非常的简单了,网上很多人的文章搞得很复杂,完全没必要。下面是我的采坑记录,写下来帮助大家。首先,需要确保: • JDK 环境已经安装 • Tomcat 已经下载好(不需要配置环境变量,下载一个压缩包解压出来就行)
  • 05.06 16:01:19
    发表了文章 2022-05-06 16:01:19

    数据结构与算法——散列表

    散列表(Hash Table)又叫做哈希表,是一种很常用的数据结构。散列表其实是基于数组实现的,可以说,没有数组就没有散列表。先来举一个简单的例子,来认识一下什么是散列表。
  • 05.06 15:57:49
    发表了文章 2022-05-06 15:57:49

    数据结构与算法——跳表

    前面说到了二分查找,并且它是基于顺序表结构的,即数组,如果直接用于链表,时间复杂度会比较的高,是 O(logn),一般我们不会这样做。那么有没有基于链表的二分查找呢?答案就是今天说到的跳跃链表。
  • 05.06 15:56:05
    发表了文章 2022-05-06 15:56:05

    数据结构与算法——二分查找练习

    前面说到了二分查找问题,看起来非常的简单,的确,前面的两种实现都不难,代码也很容易写,因为那只是最基础的二分查找问题了。今天来看看几种稍微复杂的二分查找问题: • 查找第一个等于给定值的元素 • 查找最后一个等于给定值的元素 • 查找第一个大于等于给定值的元素 • 查找最后一个小于等于给定值的元素
  • 05.06 15:53:13
    发表了文章 2022-05-06 15:53:13

    数据结构与算法——二分查找

    二分查找是一种使用十分普遍的查找算法,其基本的思路也非常的简单,在一个有序的数据集合中,我们想要查找某个数据,直接取最中间的那个数据,将它和要找的数据进行比较,如果较大,则在更大的那个数值区间继续取中间值查找,反之亦然。 例如我们要在一个有序的集合里[1,3,5,6,7,8,10],查找5这个值,那么二分查找的过程就如下图所示,经过三次查找操作就能够找到。
  • 05.06 14:32:42
    发表了文章 2022-05-06 14:32:42

    数据结构与算法——线性排序

    前面已经说完了几种非线性排序,它们分别是时间复杂度为 O(n2) 、适合小规模数据的冒泡排序、选择排序、插入排序,和应用较广泛的时间复杂度为 O(nlogn) 的希尔排序、归并排序、快速排序。其实这几种排序都有一个特性,那就是它们都是基于数据的比较和移动,而今天介绍的这几种线性排序,他们的时间复杂度都是 O(n) ,因为不涉及到数据的比较和移动。
  • 05.06 14:27:25
    发表了文章 2022-05-06 14:27:25

    数据结构与算法——希尔、归并、快速排序

    前面说完了三种较为简单的排序算法,分别是冒泡排序,选择排序和插入排序,它们的平均情况时间复杂度都是 O(n2),比较的高,适合小规模的数据排序,其中插入排序的效率稍高,所以更推荐使用插入排序。今天再来看看另外三种时间复杂度都是 O(nlogn) 的排序算法,分别是希尔排序、归并排序和快速排序。其中后两者的应用非常的广泛。
  • 05.06 14:19:23
    发表了文章 2022-05-06 14:19:23

    数据结构与算法——选择排序和插入排序

    前面说到了冒泡排序,这是一种时间复杂度为 O(n2) 、是原地排序和稳定的的排序算法,具体思路是:根据相邻两个元素之间比较大小,然后交换位置,得出最后排序的结果。具体可参考我写的这一篇文章:数据结构与算法——冒泡排序,今天来看看另外两种基础的排序算法:选择排序和插入排序。
  • 05.06 14:15:36
    发表了文章 2022-05-06 14:15:36

    数据结构与算法——冒泡排序

    因为这是排序算法系列的第一篇文章,所以多啰嗦几句。 排序是很常见的算法之一,现在很多编程语言都集成了一些排序算法,比如Java 的Arrays.sort()方法,这种方式让我们可以不在乎内部实现细节而直接调用,在实际的软件开发当中也会经常使用到。但是站在开发者的角度而言,知其然必须知其所以然。多练练排序算法,不仅能够让我们知道一些排序方法的底层实现细节,更能够锻炼我们的思维,提升编程能力。现在很多技术面试也会涉及到基本的排序算法,所以多练习是有好处的。 文中涉及到的代码都是Java实现的,但是不会涉及到太多的Java语言特性,并且我会加上详细的注释,帮助你理解代码并且转换成你熟悉的编程语言。
  • 05.06 14:13:19
    发表了文章 2022-05-06 14:13:19

    数据结构与算法——队列

    前面说完了栈,接下来再看看另一种很基础的数据结构,队列。顾名思义,队列跟我们现实生活中的排队很相似:例如我们在食堂排队打饭,先来的先打到,后来的只能一次排在后面,不允许插队。很明显,队列的操作也是受限的,插入元素(入队)只能在队尾,删除元素(出队)只能在队头。结合下面的图就很容易理解了
  • 05.06 14:07:49
    发表了文章 2022-05-06 14:07:49

    数据结构与算法——栈

    今天来看看栈这种线性数据结构,非常的基础,我举个例子你就能明白了。比如你桌子上堆放的一摞文件,最先放的在最下面,拿的时候也是最后拿,最后放的在最上面,拿的时候也先拿到。这种满足了 先进后出,后进先出 特点的数据结构,就叫做栈。
  • 05.06 13:56:40
    发表了文章 2022-05-06 13:56:40

    数据结构与算法——单链表练习

    前面的文章说到了一种很基础的数据结构——链表:数据结构与算法——链表,今天就来看看关于单链表的几种常见的操作,技术笔试的时候很大概率能够遇到其中的一些。多练习一下,对我们理解链表有很大的帮助,也能够提升我们的编码能力。 废话不多说,这几个练习题是: • 单链表反转 • 合并两个有序链表 • 检测链表中的环 • 删除链表倒数第 k 个节点 • 找到链表的中间节点
  • 05.06 13:53:04
    发表了文章 2022-05-06 13:53:04

    数据结构与算法——链表

    前面说到了数组,利用连续的内存空间来存储相同类型的数据,其最大的特点是支持下标随机访问,但是删除和插入的效率很低。今天来看另一种很基础的数据结构——链表。链表不需要使用连续的内存空间,它使用指针将不连续的内存块连接起来,形成一种链式结构。
  • 05.06 13:34:12
    发表了文章 2022-05-06 13:34:12

    数据结构与算法——数组

    数组(Array)是一种很基础的数据结构,几乎绝大多数编程语言都会支持数组这种数据结构。数组是一种线性结构,使用一组连续的内存空间,来存储相同类型的数据。
  • 05.06 13:25:56
    发表了文章 2022-05-06 13:25:56

    报道帖——给 Segmentfault 朋友们的电子书

    一直都挺喜欢 Segmentfault 这个社区的,给人的第一感觉就是比较的专业正式,社区内氛围不错,各种文章的质量也很好,并且帮助了我很多。很开心能够来到这里,记录自己的成长,希望自己能够多活跃一下,无论是在问答上面还是写作上面。来到这里的第一篇文章,想给大家送点福利,赠送一些我私藏的高质量电子书,会不定时更新, 现在大概有这么些
  • 发表了文章 2022-05-10

    LotusDB 设计与实现—3 内存 memtable

  • 发表了文章 2022-05-10

    LotusDB 设计与实现—2 WAL 日志

  • 发表了文章 2022-05-10

    用 Go 语言写了一个全新的存储引擎

  • 发表了文章 2022-05-10

    学习 C++ 的一点浅薄经验

  • 发表了文章 2022-05-10

    实现分布式 kv—2 raft leader 选举

  • 发表了文章 2022-05-10

    实现分布式 kv—1 Standalone KV

  • 发表了文章 2022-05-10

    Go 语言—数据结构和算法项目推荐

  • 发表了文章 2022-05-10

    Go 语言入门练手项目推荐

  • 发表了文章 2022-05-10

    最简单的 gRPC 教程—4 多路复用、元数据、负载均衡

  • 发表了文章 2022-05-10

    最简单的 gRPC 教程—3 拦截器、截止、取消

  • 发表了文章 2022-05-10

    最简单的 gRPC 教程—2 通信模式

  • 发表了文章 2022-05-06

    Java 并发设计模式(二)

  • 发表了文章 2022-05-06

    LotusDB 设计与实现—1 基本概念

  • 发表了文章 2022-05-06

    用 Go 语言造了一个全新的 kv 存储引擎

  • 发表了文章 2022-05-06

    rosedb 事务实践

  • 发表了文章 2022-05-06

    从零实现一个 k-v 存储引擎

  • 发表了文章 2022-05-06

    Go 语言学习路线来啦

  • 发表了文章 2022-05-06

    使用 Go 实现一个简单的 k-v 数据库

  • 发表了文章 2022-05-06

    最简单的 gRPC 教程— 1 初识 gRPC

  • 发表了文章 2022-05-06

    学习 Go 语言 1 — 基础语法(二)

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息