殷东亮的博客

常用算法 — 二分查找 [ Doc ]

Jun 4, 2022
算法

二分查找利用已经排好序的数组,每次查找可以将查找范围减半,查找范围内只剩一个数据时查找结束。 代码模板 # 简单题的模板几乎都是统一的,根据题目的条件再灵活调整就可以了,比如 704. 二分查找。 var search = function(nums, target) { let low = 0, ...

数据结构 — 队列(Queue) [ Doc ]

May 21, 2022
算法, 数据结构

普通队列 # 队列的特点就是先进先出,后进后出。可以使用数组、链表实现队列。 队列的操作 # 插入元素(add)一般指在队列首部插入元素。 删除元素(remove)指删除队列末尾的元素。 获取元素(get)一般是获 ...

数据结构 — 哈希表(Hash Table) [ Doc ]

May 20, 2022
算法, 数据结构

基础概念 # 哈希表是一种常见的数据结构,也叫散列表。哈希表最大的优点是高效,在哈希表中插入、删除或查找一个元素都只需要 O(1) 的时间。 因此,哈希表经常被用来优化时间效率。除了专门考散列表的题,也经常作为辅助计 ...

数据结构 — 数组(Array) [ Doc ]

May 19, 2022
算法, 数据结构

一维数组 # 数组常被用来当做栈、堆和队列的容器,除此之外,大多是单纯只涉及数组的题目。 特点: 支持下标 支持切片 有固定长度或可变长度 应用场景 # 数组结构很简单,但是出的题涉及的算法类型比较多,比如排序、二分法 ...

数据结构 — 栈(Stack) [ Doc ]

May 15, 2022
算法, 数据结构

基础知识 # 栈是一种常用的数据结构,它最大的特点是“后入先出”,即后进入栈中的元素最先出来,为了确保“后入先出”(LIFO)的顺序,栈的插入(push)和删除(pop)操作都发生在栈顶。 如果数据保存的顺 ...

数据结构 — 字符串(String) [ Doc ]

May 12, 2022
算法, 数据结构

字符串本身的数据结构并不复杂,同数组非常类似,没啥特别需要介绍的,就是题一般都不简单。 做题需要考虑: 有的字符串一定是 26 个字母,有的可能会包含空格。 注意事项 # Golang # 注意:Go 的 for 循环得到的是 rune 类型的字符, ...

数据结构 — 二叉树(Binary Tree) [ Doc ]

May 10, 2022
算法, 数据结构

基本概念 # 父节点,子节点,叶子节点 # 叶子节点: 一棵树当中没有子结点的结点称为叶子结点。 高度和深度 # 树的高度:节点到叶子节点的最大值就是其高度。 树的深度:高度和深度是相反的,高度是从下往上数,深度是从上 ...

常用算法 — 排序算法 [ Doc ]

May 9, 2022
算法

排序是非常基础、重要的算法,它将若干数据依照特定的顺序进行排列。如果排序的对象是数值,那么按数值递增或递减的顺序进行排序;如果排序的对象是字符串,那么按照字典顺序进行排序。由于数据排序之后能够利用二分 ...

数据结构 — 链表(Linked list) [ Doc ]

May 6, 2022
算法, 数据结构

基本概念 # 单向链表 # JavaScript # function ListNode(val, next) { this.val = (val === undefined ? 0 : val) this.next = (next === undefined ? null : next) } Golang # type ListNode struct { Val int Next *ListNode } 双向链表 # 双向链表在单向链表节点的基础上增加了指向前一个节点的指针,这样一来,既可以从头节点开始从前往后遍历 ...

AJAX 是什么?

May 2, 2022
前端, 计算机网络, 浏览器

这个问题既熟悉又有点陌生,先看概念。AJAX 是 Asynchronous Javavascript XML 的缩写,即异步 JavaScript 和 XML。使用 AJAX 技术可以在无需重新加载整个网页的情况下,能够更新部分网页,从而给带来更好的用户体验。另外 AJAX 不仅使用 XML,实际上由于 ...


©殷东亮 2012 - 2022