- 博客(10)
- 资源 (2)
- 收藏
- 关注
转载 玩转算法面试:(五)LeetCode链表类问题
在链表中穿针引线 链表和数组都是线性结构,但是链表和数组的不同在于数组可以随机的对于数据进行访问。给出索引。可以以O(1)的时间复杂度迅速访问到该元素。 链表只能从头指针开始。 next指针指向哪里? 206. Reverse Linked List 反转一个链表 链表反转 不能改变链表值。操作每个节点的next指针。 5的指针指向空的。变成指向4的。 next改变示意图 ...
2018-11-18 16:33:33 119
转载 玩转算法面试:(四)LeetCode查找类问题
查找问题 两类查找问题 查找有无:元素’a’是否存在?set;集合 查找对应关系(键值对应):元素’a’出现了几次?map;字典 通常语言的标准库中都内置set和map 容器类 屏蔽实现细节 了解语言中标准库里常见容器类的使用 常见操作: insert find erase:删除 change (map) 349. Intersection of Two Arrays ...
2018-11-18 16:33:00 211
转载 玩转算法面试:(三)LeetCode数组类问题
数组中的问题其实最常见。 排序:选择排序;插入排序;归并排序;快速排序 查找:二分查找法 数据结构:栈;队列;堆 …… 如何写出正确的程序 建立一个基础的框架,什么是正确的程序 二分查找法: - 二分查找法的思想在1946年提出。 - 第一个没有bug的二分查找法在1962年才出现。 对于有序数列,才能使用二分查找法 (排序的作用) 二分查找:前提排序 会用自然语言描述谁都会,...
2018-11-18 16:32:21 250
转载 玩转算法面试:(二)面试中的复杂度分析
面试中的时间复杂度分析 到底什么是大O n表示数据规模 O(f(n)) fn是关于n的一个函数。表示运行算法所需要执行的指令数,和f(n)成正比。 常见算法复杂度 和a.b.c.d这些常数项关系不大。主要还是看它是哪个层级的。 算法A:O(n) 所需执行指令数:10000n 算法B:O(n^2) 所需执行指令数:10n^2 n的规模逐渐增大。算法a.b的指令数变化。 ...
2018-11-18 16:31:20 421
转载 玩转算法面试:(一)什么是算法面试?
前言 对于面试中遇到的大多数问题 都能有一个合理的思考路径 沟通: 边界条件是怎样的? 数据范围如何? 某些术语是具体如何定义的? 基础数据结构 算法设计思想: 递归分治 贪心 动态规划 回溯搜索 LeetCode 3 Longest Substring Without Repeating Characters 在一个字符串中寻找没有重复字母的最长子串 如”abca...
2018-11-18 16:28:49 226
转载 玩转数据结构——第八章:线段树(区间树)
线段树(Segment Tree) 内容概览: 一、什么是线段树? 二、线段树的基础表示 三、创建线段树 四、线段树中的区间查询 五、LeetCode上线段树相关的问题 六、线段树的更新操作 七、线段树更多相关的问题 为什么要使用区间树? 对于给定区间 更新:更新区间中一个元素或者一个区间的值,数组的实现是级别 查询:查询一个区间[i,j]的最大值,最小值,或者区间数字和,...
2018-11-02 16:55:43 147
转载 玩转数据结构——第七章:优先队列和堆
内容概要: 什么是优先队列? 堆的基础结构 向堆中添加元素Sift Up 从堆中取出元素和Sift Down Heapify和Replace 基于堆的优先队列 LeetCode上优先队列相关的问题 java中的PriorityQueue 和堆相关的更多话题和广义队列 一、什么是优先队列? 不同树的数据结构四种例子: 堆 线段树 字典树 并查集 什么是优先队列? 普通队...
2018-11-02 16:52:00 258
转载 玩转数据结构——第六章:集合和映射
集合(Set) 什么是集合? 集合是承载元素的容器; 特点:每个元素只能存在一次 优点:去重 二分搜索树的添加操作add:不能盛放重复元素 是非常好的实现“集合”的底层数据结构 /** * 集合的接口 */ public interface Set<E> { void add(E e);//添加 <——<不能添加重复元素 void ...
2018-11-01 16:32:13 141
转载 玩转数据结构——第五章:二分搜索树
内容概要: 为什么要研究树结构 二分搜索树基础 向二分搜索树中添加元素 改进添加操作:深入理解递归终止条件 二分搜索树的查询操作 二手搜索树的前序遍历 二分搜索树的中序遍历和后序遍历 深入理解二分搜索树的前中后遍历(深度遍历) 二分搜索树是的前序遍历的非递归实现 二分搜索树的层序遍历(广度遍历) 删除二分搜索树的最大元素和最小元素 删除二分搜索数的任意元素 1-为什么要研究...
2018-11-01 15:37:20 140
转载 玩转数据结构——第四章:链表和递归
内容概要: Leetcode中和链表相关的问题 测试自己的Leetcode链表代码 递归继承与递归的宏观语意 链表的天然递归结构性质 递归运行机制:递归的微观解读 递归算法的调试 更多和链表相关的问题 1-Leetcode中和链表相关的问题 题目: 删除链表中等于给定的val的所有元素。 示例: 给定:1—>2—>6—>3—>4—>5—>6...
2018-11-01 08:45:51 144
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人