数据结构与算法,是大学中计算机相关专业里的一门必修的基础课,当时学习的时候并不能列其中的知识点,毕业之后随着对计算机专业知识的了解加深,才意识到其重要性,今天我就来研究一番。...
文承上篇,搜索算法中除了深度优先搜索(DFS)和广度优先搜索(BFS),二分搜索(Binary Search)也是最基础搜索算法之一。
在查找二叉树某个节点时,如果把二叉树所有节点理解为解空间,待找到那个节点理解为满足特定条件的解,对此解答可以抽象描述为: 在解空间中搜索满足特定条件的解,这其实就是搜索算法(Search)的一种描述。当然也有其他描述,比如...
可能很多人工作一段时间,觉得js的知识点掌握的差不多了,应用起来得心应手,但是js的知识高深莫测,所以我打算再系统的学一遍《学习JavaScript数据结构与算法》这本书(主要学习最常用的数据结构和算法),并将学习成果总结如下:...
二叉树(Binary Tree)是一种树形数据结构,由节点构成,每个节点最多有两个子节点:一个左子节点和一个右子节点。
上一篇数据结构与算法 --- 排序算法(二)中,介绍了分治算法思想及借助分治算法思想实现的归并排序。
上一篇数据结构与算法 --- 排序算法(一)中,学习了冒泡排序,插入排序,选择排序这三种时间复杂度为
「冒泡排序(bubble sort)过程包含多次冒泡操作,每一次冒泡操作都会遍历整个数组,依次比较相邻元素,不符合大小关系则互换位置,直到无元素需要交换。」...
排序算法是最基础的算法,对于排序算法,除学习算法原理,代码实现之外,更重要的是学习每个算法的特点,知道在什么场景下选择那种算法。
上文数据结构与算法 --- 递归(一) 讲述了什么是递归算法,如何编写递归算法及如何写好递归算法,本文着重讲述一下如何避免递归过深导致的堆栈溢出问题。...