首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
算法
订阅
Carsene
更多收藏集
微信扫码分享
微信
新浪微博
QQ
33篇文章 · 0订阅
二叉树创建后,如何使用递归和栈遍历二叉树?
前面已经介绍过了二叉树的基本概念和原理,本文来介绍二叉树的创建、递归遍历、栈遍历的代码实现,内附详图。
算法的时间复杂度和空间复杂度
算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。 主要还是从算法所占用的「时间」和「空间」两个维度去考量。 时间维度:是指执行当前算法所消耗的时间,我们通…
算法解剖 - 数据结构篇 - 栈
1. 栈的数据结构 2. 栈的实现 3. JDK中栈的实现 4. 栈的应用 5. 栈相关的编程题目 1. 栈的数据结构 栈(下压栈)是一种基于后进先出(LIFO:last-in,first-out)策略的集合类型。 2. 栈的实现 见 3. JDK中栈的实现 使用单链表,通过在…
那些有趣的算法之布隆过滤器
布隆过滤器是由Burton Bloom与1970年提出来的,所以它的名字就叫做Bloom Filter。它实际上是一个很长的二进制向量和一系列的随机映射函数。 有的黑客为了让服务宕机,他们会构建大量不存在于缓存中的key向服务器发起请求,在数据量足够大的情况下,频繁的数据库查询…
准备下次编程面试前你应该知道的数据结构
瑞典计算机科学家 Niklaus Wirth 在 1976 年写了一本书,叫作《Algorithms + Data Structures = Programs》(算法+数据结构=程序)。 即便在 40 年后的今天,这条等式仍然成立。这也是为何程序员求职者应该向面试官展示出已经透…
看图轻松理解数据结构与算法系列(B树的删除)
删除操作比较复杂,主要是因为删除的项可能在叶子节点上也可能在非叶子节点上,而且删除后可能导致不符合B树的规定,这里暂且称之为导致B树不平衡,于是要进行一些合并、左旋、右旋等操作,使之符合B树的规定(即让B树平衡)。另外,如果是删除非叶子节点项需要先找到中序前驱来替换。 直接删除…
二叉树遍历Java(递归+迭代):前序、中序和后续遍历(双栈法+Deque法)
核心思维模型:对于二叉树的遍历,首先要将 Base Case 具体化出来,最底层的子节点不是没有左、右两个子节点,应该将其左、右两个子节点用 null 表示出来。即最底层子节点的左、右子节点都是 null。 在每次递归遍历中,该子节点相对于本次遍历都是一个根节点,它的左右子节点…
「中高级前端」窥探数据结构的世界- ES6版
1. 什么是数据结构? 数据结构是在计算机中组织和存储数据的一种特殊方式,使得数据可以高效地被访问和修改。更确切地说,数据结构是数据值的集合,表示数据之间的关系,也包括了作用在数据上的函数或操作。 数据是计算机科学当中最关键的实体,而数据结构则可以将数据以某种组织形式存储,因此…
回溯算法之复原IP地址
给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 我做的算法题不多,但是个人经验,在做题的时候最好能手动的在纸上画图,模拟程序运行的图。 不过也可能再电脑上画图会更方便,我们先思考程序的运行大致应该是什么路径。如图: 在图上可以看出来,得出是否是IP地址的在…