数据结构与算法

从二分搜索到二叉搜索树

本文从二分搜索思想推导出二叉搜索树,以阐释二叉搜索树的本质,以及有序数组、链表和二叉搜索树之间的关联。 引言 打算写写树形数据结构:二叉查找树、红黑树、跳表和 B 树。这些数据结构都是为了解决同一个基本问题:如何快速地对一个大集合执行增删改查。 本篇是第一篇,讲讲搜索树的基础:二叉搜索树 »

关于Python的高级数据结构与算法

目录 一、简介 二、栈(Stack) 三、队列(Queue) 四、堆(Heap) 五、排序算法(Sorting Algorithms) 1. 冒泡排序(Bubble Sort) 2. 选择排序(Selection Sort) 3. 插入排序(Insertion Sort) 六、查找算法(Sea »

简单三步走搞定动态规划难题,记好这三板斧,动态规划就不难

最近实在是被动态规划伤透了脑筋,今天看到这篇文章感觉醍醐灌顶一般的突然就茅塞顿开,记好这三步,动态规划就不难了,这里开篇文章记录一下,我是如何用这个方法来刷剑指offer的动态规划题的;当然每个题都有更好的解决方法,但是我们的思路是先用陈咬金的三板斧解决了问题再来进行优化,下面简述一下思路: 第一步 »

简单三步走搞定动态规划难题,记好这三板斧,动态规划就不难

最近实在是被动态规划伤透了脑筋,今天看到这篇文章感觉醍醐灌顶一般的突然就茅塞顿开,记好这三步,动态规划就不难了,这里开篇文章记录一下,我是如何用这个方法来刷剑指offer的动态规划题的;当然每个题都有更好的解决方法,但是我们的思路是先用陈咬金的三板斧解决了问题再来进行优化,下面简述一下思路: 第一步 »

数据结构-布隆过滤器

数据结构-布隆过滤器 1.布隆过滤器的概念 定义 布隆过滤器:是⼀种概率型数据结构,特点是⾼效的插⼊和查询,能明确告知某个字符串⼀定不存在或者可能存在; 优点和缺点 优点:布隆过滤器相⽐传统的查询结构更加⾼效,占⽤空间更⼩; 例如:hash,set,m »

数据结构-布隆过滤器

数据结构-布隆过滤器 1.布隆过滤器的概念 定义 布隆过滤器:是⼀种概率型数据结构,特点是⾼效的插⼊和查询,能明确告知某个字符串⼀定不存在或者可能存在; 优点和缺点 优点:布隆过滤器相⽐传统的查询结构更加⾼效,占⽤空间更⼩; 例如:hash,set,m »

【数据结构与算法学习】散列表(Hash Table,哈希表)

实现语言:C++ 1. 散列表 散列表,英文名称为Hash Table,又称哈希表、杂凑表等。 线性表和树表的查找是通过比较关键字的方法,查找的效率取决于关键字的比较次数。 而散列表是根据关键字直接访问的数据结构。散列表通过散列函数将关键字映射到存储地址,建立了关键字和存储地址之间的一种直接映射关系 »

shaoxx333

学数据结构第一个是学链表?不,是它

以前很多小白都来询问过关于数据结构的内容,问题基本都是想学链表,堆栈、队列、树这些该怎么下手。 我告诉他们,第一个要学的结构,不是链表,也不是堆栈队列,而是: 线性表! 线性表是一种最简单,最常用的数据结构,以至于最常听见的链表、循环链表,静态链表这些,也都是线性表衍生而来的。 大家好 »

wuyue525

LeetCode_单周赛_332

6354. 找出数组的串联值 题意 将数组首尾元素接在一起,就是串联值。 串联之后删除,如果只剩下一个元素,加上这个元素即可 双指针,从首和尾向中间移动即可 code **注意:**用 long 没看题目用了 int wa了一发 class Solution { public long findTh ... »

Java数据结构之选择排序算法的实现与优化

目录 初识选择排序 算法实现 优化后的算法实现 选择排序 VS 冒泡排序 初识选择排序 算法思想[以升序为例]: 第一趟选择排序时,从第一个记录开始,通过n-1次关键字的比较,从第n个记录中选出关键字最小的记录,并和第一个记录进行交换 第二趟选择排序时,从第二个记录开始,通过n-2次关 »

跳跃表数据结构与算法分析

目前市面上充斥着大量关于跳跃表结构与Redis的源码解析,但是经过长期观察后发现大都只是在停留在代码的表面,而没有系统性地介绍跳跃表的由来以及各种常量的由来。作为一种概率数据结构,理解各种常量的由来可以更好地进行变化并应用到高性能功能开发中。本文没有重复地以对现有优秀实现进行代码分析,而是通过对跳跃... ... »

数据结构与算法 -> 大顶堆与小顶堆

一、大顶堆 大顶堆是一种数据结构,它是一颗完全二叉树,并且满足以下性质: 每个节点的值都大于或等于它的子节点的值 因此,大顶堆的根节点(也称为堆顶)总是最大的元素 二、小顶堆 小顶堆也是一种数据结构,它是一颗完全二叉树,并且满足以下性质: 每个节点的值都小于或等于它的子节点的值 因此, »

2n个数的中位数问题_python_算法与数据结构

目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ »

逆序数_python_算法与数据结构

目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ »

排序算法_JavaPython_数据结构与算法

目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ »

【数据结构与算法】二叉树深度遍历(非递归)

目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ »

《数据结构与算法分析》引论:选择问题实现

目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ »

数据结构与算法之美 03 | 复杂度分析(上)

目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ »