第一章 接口原文:Chapter 1 Interfaces 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译本书展示了三个话题:数据结构:从 Java 集合框架(JCF)中的结构开始,你将学习如何使用列表和映射等数据结构,你将看到它们的工作原理。算法分析:我提供了技术,来分析代码以及预测运行速度和需要多少空间(内存)。信息检索:为了激发前 ......
278
0
0
2022-12-18
第二章 算法分析原文:Chapter 2 Analysis of Algorithms 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译我们在前面的章节中看到,Java 提供了两种实现List的接口,ArrayList和LinkedList。对于一些应用,LinkedList更快;对于其他应用,ArrayList更快。要确定对于特定的应用 ......
317
0
0
2022-12-18
大家好,我是陌溪前言Redis 是一个高性能的分布式内存数据库,在国内的公司也有着非常广泛的使用场景。因此,在面试过程中,关于 Redis 相关的知识点,也是经常被问到的。下面这题,就是之前面试的时候遇到过的,让我们一起来学习一下吧~Redis 有那些数据结构?以及它们的使用场景?Redis五种数据结构Redis 为我们提供了 5 种数据结构,分别是以下几种 ......
339
0
0
2022-12-09
深度讲解索引的数据结构:B+树1.索引介绍1.1 为什么使用索引1.2 索引的优缺点2.从零开始设计索引2.1没有索引时怎么查询数据2.2 基于页的目录项的简单索引2.3 InnoDB索引设计方案2.3.1 迭代1:目录项的数据页(目录页)2.3.2 迭代2:多个目录页2.3.3 迭代3:目录页的目录页3.索引类型3.1.聚簇索引3.2 二级索引3.3 联合 ......
305
0
0
2022-12-06
It is much more difficult to judge yourself than to judge others. If you successfully judge yourself correctly, then you are a true wise man.红黑树红黑树实质上是一棵自平衡的二叉查找树,引入带颜色的节点也是为了方便在进行 ......
280
0
0
2022-11-26
1.集合框架Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组 接口 interfaces 和其实现类 classes 。类和接口总览其中,Collection 和 Map 接口是常用接口2.Collection接口图中接口解释:Collection :用来存 ......
264
0
0
2022-11-25
用 Go 来实现链表、栈、队列、散列表、树、二叉树、堆、图图的认识图是一种较线性表和树更加复杂的数据结构,由顶点和连接每对顶点的边所构成的图形就是图。图由两个元素组成:节点 和 关系 。在图形结构中,结点之间的关系可以是任意的,图中任意两个数据元素之间都可能相连。图(Graph)是由顶点的有穷非空集合和顶点之间的集合组成,通常表示为G[V, E],其中G表示 ......
471
0
0
2022-10-30
用 Go 来实现链表、栈、队列、散列表、树、二叉树、堆、图堆的认识堆是一棵基于数组实现的特殊的完全二叉树,这棵二叉树的每个节点的值必须大于或小于它的两个子节点。大顶堆是每个节点的值必须大于它的两个子节点,小顶堆则相反。堆的顶点必定是他的最大值或最小值应用场景优先级队列:合并有序小文件,高性能定时器利用堆求 Top K求中位数堆// heap.go pack ......
339
0
0
2022-10-30
用 Go 来实现链表、栈、队列、散列表、树、二叉树、堆、图概念散列表 又名哈希表 或 Hash表 散列表是根据关键码值(Key value)而直接进行访问的数据结构散列表是数组的一种扩展,有数组演化而来。常见应用场景Go 中的 map实现散列表package main import ( "fmt" "os" ) // 定义员工 ......
338
0
0
2022-10-20
本文中探讨的数据结构主要以 PHP 语言为基础,并参考了 C/C++。所涉及的数据结构大致分为了以下几个大类:元数据结构复合数据结构集合数据结构一、元数据结构编程语言中的最小数据单位。空:null(PHP 表示无类型)布尔:bool(true | false)整型:int浮点型:float、double(PHP 中没有单独的 double,统一都是 floa ......
446
0
0
2022-10-15
用 Go 来实现链表、栈、队列、散列表、树、二叉树、堆、图线性结构:数据组成一条线的结构,只有前后方向(数据 链表 栈 队列)非线性结构:树、二叉树、堆、图栈的认识第一印象:先进后出结构栈(Stack)又叫堆栈,是限定只能在一端进行插入和删除操作的线性表,并且满足后进先出(LIFO)的特点,即最后插入的最先被读取。我们把允许插入和删除的一端叫做栈顶,另一个端 ......
364
0
0
2022-10-12
题目给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。示例 1:1 -> 2 -> 3 -> 4 -> 5 V5 -> 4 -> 3 -> 2 -> 1输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例 2:1 -> 2 V2 -> 1输入: ......
429
0
0
2022-10-07
用Go来实现链表、栈、队列、散列表、树、二叉树、堆、图算法基础概念时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。空间维度:是指执行当前算法需要占用多少内存空间,我们通常用「空间复杂度」来描述。两者(时间和空间复杂度)经常不可兼得数组是几乎主流都有的数据结构就不去实现了,实现第一个链表链表认识链表由一系列结点(每一个元素称为结点)组成 ......
329
0
0
2022-10-05
上次小编写到双向线性链表了,还有双向循环链表以及数组链表没有写完,只是这两天太忙,就忘了更新,今天全部来补上。1、双向循环链表实现双向循环链表创建、插入、删除、释放内存等简单操作#include <stdio.h> #include <stdlib.h> typedef struct Node { int da ......
353
0
0
2022-07-25
这篇文章想说一下go中map的数据结构和我对它的理解,感兴趣的可以往下接着看哈Golang的map使用哈希表作为底层实现,一个哈希表里可以有多个哈希表节点,也即bucket,而每个bucket就保存了map中的一个或一组键值对,看过map的底层数据结构应该知道它在runtime/map.go/hmap 定义:type hmap struct { c ......
379
0
0
2022-07-09