《数据结构与算法》之散列表
散列表 什么是散列表 “散列”的基本思想是: 1.以关键字key为自变量,通过一个确定的函数(散列函数),通过函数计算出确定的函数值,作为数据对象存储地址 2.可能不同散列对象会映射到一个散列地址上,则称之为冲突 需要某种解决策略 如上图: 我们依次读入数据时,对于同一个key值和散列函数,总有一些 ... »
散列表 什么是散列表 “散列”的基本思想是: 1.以关键字key为自变量,通过一个确定的函数(散列函数),通过函数计算出确定的函数值,作为数据对象存储地址 2.可能不同散列对象会映射到一个散列地址上,则称之为冲突 需要某种解决策略 如上图: 我们依次读入数据时,对于同一个key值和散列函数,总有一些 ... »
简介 在计算机软件开发的世界里,多线程编程是一个重要且令人兴奋的领域。然而,与其引人入胜的潜力相伴而来的是复杂性和挑战,其中之一就是处理共享数据。当多个线程同时访问和修改共享数据时,很容易出现各种问题,如竞态条件和数据不一致性。 本文将探讨如何在Java中有效地应对这些挑战,介绍一种强大的工具——并 ... »
[TOC](【后端面经-数据库】Redis数据结构和底层数据类型) 声明:Redis的相关知识是面试的一大热门知识点,同时也是一个庞大的体系,所涉及的知识点非常多,如果用一篇文章罗列,往往会陷入知识海洋中无法感知其全貌,因此,这段时间我会试着拆分Redis的相关章节,辅以思维导图的形式介绍Redis ... »
acwing学习笔记,记录容易忘记的知识点和难题。数组实现单链表、双链表、栈、单调栈、队列、单调队列、KMP、字典树 Trie、并查集、数组实现堆、哈希表(拉链法、开放寻址法、字符串前缀哈希法)、STL常用容器 ... »
写代码的时候大脑想的总是数据结构和算法。大学学习 C 语言的时候, 书上看到的,有位编程大师说的就是, 编程就等于数据结构加算法。C 语言 有数组这个数据结构。有人说不是啊不是还有链表,不是还有栈,不是还 有队列 其实这 是表象,底层都是以数组的 形式组织设计的。C 语言 编程的时候 会使用到数组, ... »
概述 Redis底层有六种数据类型包括:简单动态字符串、双向链表、压缩列表、哈希表、跳表和整数数组。这六种数据结构五大数据类型关系如下: String:简单动态字符串 List:双向链表、压缩列表 Hash:压缩列表、哈希表 Sorted Set:压缩列表、跳表 Set:哈希表、整数数组 数据类型和 ... »
#【单调队列】 单调队列的“扫描线”理解 **“如果一个选手比你小还比你强,你就可以退役了。”——单调队列的原理** - 比你强,而且比你影响时间更长。 - 某种意义上,数学思维是生活中的思考的延伸。 [算法学习笔记(66): 单调队列](https://zhuanlan.zhihu.com/p/3 ... »
# 前言 又被薄纱了捏,发现没有队友啥都做不了捏,发现自己并查集忘光光捏,惨捏,感觉自己好没有用捏,捏,捏……牢骚结束,努力捏~( ̄▽ ̄)~*? # 并查集 [并查集(Disjoint Set)](https://oi-wiki.org/ds/dsu/#%E5%85%B6%E4%BB%96%E5% ... »
数据类型是编程语言中的一个重要概念,它定义了数据的类型和提供了特定的操作和方法。在 python 中,数据类型的作用是将不同类型的数据进行分类和定义,例如数字、字符串、列表、元组、集合、字典等。这些数据类型不仅定义了数据的类型,还为数据提供了一些特定的操作和方法,例如字符串支持连接和分割,列表支持排... ... »
一、数组实现二叉树(下标从0开始) #include <stdio.h> typedef struct _TreeNode{ int data; bool IsEmpty; //结点是否为空 // 因为我们的二叉树不一定是满二叉树,中间可能有一些节点不存在 // 值为1代表空 }TreeNode; ... »
# 基本概念 双向链表概念和单向链表是一致的,区别在于双向链表在单向链表的基础上,指针区域多了一个指向上一个节点的指针。单向链表内容可以参考我的上一篇文章:http://t.csdn.cn/Iu56H。 基本的数据结构如图所示: ,技术和职场问题,请关注公众号 [彭旭锐] 和 [BaguTree Pro] 知识星球提问。** > > 学习数据结构与算法的关键在于掌握问题背后的算法思 ... »
```java /*数据结构单向链表基本操作 节点类 */ import java.util.Iterator; import java.util.function.Consumer; public class shujujiegou implements Iterable {//整体 privat ... »
本文主要从TiDB的各类组件为起点,了解它的基础架构,并重点分析它在存储架构方面的设计,探究其如何组织数据,Table中的每行记录是如何在内存和磁盘中进行存储的。 ... »
导言: 图是数据结构教材上的最后一种数据结构了,它的使用范围最广,最多,也是最贴合我们实际生活的,图是一个多对多的数据结构,在前面的学习,了解到了一对一的数据结构 线性结构,以及一对多的结构 树形结构,现在要学的多对多的结构 图, 图是对我们现实生活中很多实体的抽象,因为实际的生活中,的确关系是复杂 ... »
# 问题引入 在五子棋游戏或类似的游戏中,我们可以把整个棋盘想象成是一个有规律的二维数组,其值由0、1、2三个数字组成,0代表空白区域,1代表白子,2代表黑子。这种情况:即当一个数组中大部分元素为0或者为同一值时,存储该数组数据可以使用稀疏数组来对原始数组进行精简,以减少原始数组中无用数据所占的空间 ... »
博客推行版本更新,成果积累制度,已经写过的博客还会再次更新,不断地琢磨,高质量高数量都是要追求的,工匠精神是学习必不可少的精神。因此,大家有何建议欢迎在评论区踊跃发言,你们的支持是我最大的动力,你们敢投,我就敢肝 ... »