数据结构与算法

经典数据结构题目-树

树 105. 从前序与中序遍历序列构造二叉树 思路 先序遍历中,树的根节点放在第一位,后面是左右子树。中序遍历中,树的根节点放在中间,两边分为左右子树 可基于以上规则区分出每棵树在数组中的区间 先从先序数组中拿到根节点的val 因为val不重复,定位到该树在中序数组的位置 中序数组根节 »

单调栈与单调队列算法总结

单调栈 知识概览 单调栈最常见的应用是找到每一个数离它最近的且比它小的数。 单调栈考虑的方式和双指针类似,都是先想一下暴力做法是什么,然后再挖掘一些性质如单调性,最终可以把目光集中在比较少的状态中,从而达到降低时间复杂度的作用,都是算法优化的一种手段。 对于的情况,更有可能是答案,因此将删掉。最终 »

二分查找知识总结

整数二分: 二分的本质并不是单调性,而是从一半满足一半不满足的区间中找到边界点。 模板题: 数的范围 给定一个按照升序排列的长度为n的整数数组,以及q个查询。 对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。 如果数组中不存在该元素,则返回 -1 -1。 输入格式 第一行包含整 »

数据结构与算法 | 图(Graph)

在这之前已经写了数组、链表、二叉树、栈、队列等数据结构,本篇一起探究一个新的数据结构:图(Graphs )。在二叉树里面有着节点(node)的概念,每个节点里面包含左、右两个子节点指针;比对于图来说同样有着节点(node),在图里也称为顶点(vertex),顶点之间的关联不在局限于2个(左、右),一 »

数据结构与算法 | 动态规划算法(Dynamic Programming)

上一篇文末已经提到了记忆化搜索是动态规划(Dynamic Programming)的一种形式,是一种自顶向下(Top-Down)的思考方式;既然动态规划有自顶向下(Top-Down)的递归形式,自然想到对应的另外一种思考方式自底向上( Bottom-Up )。什么是自底向上的思考?不空谈理论... »

数据结构与算法 | 记忆化搜索(Memorize Search)

回忆笔者学习动态规划的时候,最开始接触的是经典的 “01背包” 问题;不过现在想起来,以“01背包问题”作为初次接触的动态规划算法的问题_并不友好_;花费了不少时间才慢慢感悟到动态规划算法的核心思想。先前的文章中涉及了不少搜索算法,在搜索算法上融入动态规划算法思想的 在本系列的文章中已经 »

历时三年,写的一本数据结构与算法pdf,开源了!

前言 大家好,我是bigsai,很早就在写博客,将文章整理成了一个pdf,并且开源到github上! 自己写东西断断续续也不少时间了,也写了不少东西(虽然是偏向小白),这个其实花费的时间还是比较多的,这次的话主要将数据结构与算法中一些文章整理出来,初步整理成一版pdf,先分享给大家。 因为在整理pd »

bigsai

支持C#的开源免费、新手友好的数据结构与算法入门教程

前言 前段时间完成了C#经典十大排序算法(完结)然后有很多小伙伴问想要系统化的学习数据结构和算法,不知道该怎么入门,有无好的教程推荐的。今天给大家推荐一个支持C#的开源免费、新手友好的数据结构与算法入门教程:Hello算法。 Hello算法介绍 Hello算法一个开源免费、新手友好的数据结构与算法入 »

Can-daydayup

数据结构和算法——二叉排序树

前言 主要根据vue官网文档完成。对一些平时可能会用到的知识、组件进行收集,为的是对vue的可用性有一个大致的了解。博客中的组件介绍可能只涉及简单用法,完整用法还是以官网为准。   基础 启动过程: 主文件(main.js)是程序的起点,在主文件里挂在容器。如app.mount( »

数据结构与算法笔试题吐血整理

前言 主要根据vue官网文档完成。对一些平时可能会用到的知识、组件进行收集,为的是对vue的可用性有一个大致的了解。博客中的组件介绍可能只涉及简单用法,完整用法还是以官网为准。   基础 启动过程: 主文件(main.js)是程序的起点,在主文件里挂在容器。如app.mount( »

Transkai

计算机基础-逻辑运算-数据结构与算法专题 - jiapengchu

前言 主要根据vue官网文档完成。对一些平时可能会用到的知识、组件进行收集,为的是对vue的可用性有一个大致的了解。博客中的组件介绍可能只涉及简单用法,完整用法还是以官网为准。   基础 启动过程: 主文件(main.js)是程序的起点,在主文件里挂在容器。如app.mount( »

jiapengchu

数据结构与算法——平衡二叉树(AVL树)

前言 主要根据vue官网文档完成。对一些平时可能会用到的知识、组件进行收集,为的是对vue的可用性有一个大致的了解。博客中的组件介绍可能只涉及简单用法,完整用法还是以官网为准。   基础 启动过程: 主文件(main.js)是程序的起点,在主文件里挂在容器。如app.mount( »

数据结构与算法(十二)——算法-动态规划

前言 主要根据vue官网文档完成。对一些平时可能会用到的知识、组件进行收集,为的是对vue的可用性有一个大致的了解。博客中的组件介绍可能只涉及简单用法,完整用法还是以官网为准。   基础 启动过程: 主文件(main.js)是程序的起点,在主文件里挂在容器。如app.mount( »

数据结构与算法——赫夫曼编码

前言 主要根据vue官网文档完成。对一些平时可能会用到的知识、组件进行收集,为的是对vue的可用性有一个大致的了解。博客中的组件介绍可能只涉及简单用法,完整用法还是以官网为准。   基础 启动过程: 主文件(main.js)是程序的起点,在主文件里挂在容器。如app.mount( »

ljz111

学习数据结构与算法,成为出色的程序员

前言 主要根据vue官网文档完成。对一些平时可能会用到的知识、组件进行收集,为的是对vue的可用性有一个大致的了解。博客中的组件介绍可能只涉及简单用法,完整用法还是以官网为准。   基础 启动过程: 主文件(main.js)是程序的起点,在主文件里挂在容器。如app.mount( »

looyee

数据结构与算法学习笔记 (二) 栈 链表 队列 树 堆 图 并查集

前言 主要根据vue官网文档完成。对一些平时可能会用到的知识、组件进行收集,为的是对vue的可用性有一个大致的了解。博客中的组件介绍可能只涉及简单用法,完整用法还是以官网为准。   基础 启动过程: 主文件(main.js)是程序的起点,在主文件里挂在容器。如app.mount( »

eugene0

数据结构与算法-基础(三)- 循环链表(补充)

前言 主要根据vue官网文档完成。对一些平时可能会用到的知识、组件进行收集,为的是对vue的可用性有一个大致的了解。博客中的组件介绍可能只涉及简单用法,完整用法还是以官网为准。   基础 启动过程: 主文件(main.js)是程序的起点,在主文件里挂在容器。如app.mount( »

shsuper

【数据结构与算法】链表模板及例题

前言 主要根据vue官网文档完成。对一些平时可能会用到的知识、组件进行收集,为的是对vue的可用性有一个大致的了解。博客中的组件介绍可能只涉及简单用法,完整用法还是以官网为准。   基础 启动过程: 主文件(main.js)是程序的起点,在主文件里挂在容器。如app.mount( »