首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
数据结构与算法
0胡杨0
创建于2022-07-19
订阅专栏
自己学习算法的笔记
暂无订阅
共12篇文章
创建于2022-07-19
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
数据结构与算法(十二) 二叉树
树 关于“树”有三个比较相似的概念:高度(Height)、深度(Depth)、层(Level)。它们的定义是这样的: 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子节
数据结构与算法(十一) 哈希算法
什么是哈希算法? 将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,而通过原始数据映射之后得到的二进制值串就是哈希值。
数据结构与算法(十) 散列表
定义 散列表的英文叫“Hash Table”,我们平时也叫它“哈希表”或者“Hash 表”,散列表用的是数组支持按照下标随机访问数据的特性,所以散列表其实就是数组的一种扩展,由数组演化而来。
数据结构与算法(九) 跳表
跳表的定义 - 跳表,又叫做跳跃表、跳跃列表,在有序链表的基础上增加了“跳跃”的功能 - 跳表在原来的有序链表上加上了多级索引,通过索引来快速查找;可以支持快速的删除、插入和查找操作。
数据结构与算法(八) 二分查找
场景及用法 二分查找针对的是一个有序的数据集合,查找思想有点类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为 0。 时间复杂度 我们
数据结构与算法(七)排序
如何分析一个排序算法? 1,排序算法的执行效率 执行效率包括: 最好情况、最坏情况、平均情况时间复杂度, 时间复杂度的系数、常数、低阶, 比较次数和交换(或移动)次数 2,排序算法的内存消耗 空间复杂
数据结构与算法(六)递归
首先先提出一个问题,如何用递归去求解5的阶乘,这是一个经典的递归问题.我们都知道5的阶乘求法是5×4×3×2×1.但是用编程的方式应该怎么写呢? 递归需要满足的三个条件 1,一个问题可以分解为几个子问
数据结构与算法(五)队列
队列的理解 队列是一种受限的线性表数据结构,它的主要特点就是先进先出.队列的基本操作有两个,入队(enqueue)和出队(dequeue). 实现一个队列需要两个指针,一个head指向队头,一个tai
数据结构与算法(四)栈
什么是栈 栈是一种操作受限的线性表.基本特性是先进后出,后进先出. 栈的实现 栈可以用数组来实现叫做顺序栈,也可以用链表来实现叫做链式栈. 栈的复杂度 出栈和入栈的时间复杂度为O(1). 栈的空间复杂
数据结构与算法(三)链表
什么是链表 是一种将一组零散的内存块串联起来使用的数据结构。 与数组的区别 数组需要一块连续的内存空间,而链表不需要。 假如现在剩余的内存空间为100M,但是内存空间并不连续,这时候我们是不能申请一个
数据结构与算法(二)数组
数组定义 数组是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。 线性表:就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。
数据结构与算法(一)复杂度
大O复杂度表示法 表示一种变化趋势,并不是代码的具体执行时间。在公式中通常会忽略掉:常量,低阶,和系数。 复杂度分析 用来分析所写算法的执行时间(时间复杂度)和占用的内存大小(空间复杂度)。