其他章节请看: 前端学习 数据结构与算法 快速入门 系列 递归 递归的概念 递归是一种解决问题的方法,它从解决问题的各个小部分开始,直到解决最初的大问题。 递归通常涉及调用函数本身,直接调用自身,亦或者间接调用自身,都是递归函数。就像这样: 现在执行 fn1 ...
其他章节请看: 前端学习 数据结构与算法 快速入门 系列 排序和搜索算法 本篇,我们将一起学习最常用的搜索和排序算法,如冒泡排序 选择排序 插入排序 归并排序 快速排序,以及二分搜索 插值搜索。 同时我们得理解,首先得排好序,才能更好的搜索需要的信息。 著名算法的动画演示 https: visualgo.net 数据结构和算法动态可视化。比如有本文介绍的排序算法的动画版本。 排序算法 冒泡排序 ...
2021-12-19 22:54 0 250 推荐指数:
其他章节请看: 前端学习 数据结构与算法 快速入门 系列 递归 递归的概念 递归是一种解决问题的方法,它从解决问题的各个小部分开始,直到解决最初的大问题。 递归通常涉及调用函数本身,直接调用自身,亦或者间接调用自身,都是递归函数。就像这样: 现在执行 fn1 ...
栈 前面,我们学习了如何创建和使用计算机科学中最常用的数据结构——数组。 我们知道可以在数组的任意位置添加或删除元素,但有时我们还需要一种能在添加和删除元素时有更多控制的数据结构。有两种类似数组的数据结构在添加和删除时有更多控制,它们就是栈和队列。 栈数据结构 栈是一种遵循后进先出 ...
其他章节请看: 前端学习 数据结构与算法 快速入门 系列 链表 链表数据结构 前面我们已经学习了数组数据结构,但是从数组头部或中间插入元素,或者移除元素的成本比较高,因为需要移动元素。 就像这样: 链表不同于数组,链表中的元素在内存中不是连续放置的,每个元素由一个存储 ...
数组数据结构 数组是最简单的数据结构。 几乎所有编程语言都原始支持数组。 数组存储一系列同一种数据类型的值。虽然 javascript 中的数组能保存不同类型的值,但我们还是遵循最佳实践,因为大多数语言都没这个能力。 注:本篇文章不会介绍如何实现一个数组,更多的是有关数组的功能和特性,这对 ...
队列和双端队列 前面我们已经学习了栈数据结构。队列和栈非常类似,栈的原则是先进后出,而队列则是先进先出。同时,我们要学习双端队列,它是一种允许我们同时从前端和后端添加元素和移除元素的特殊队列。 队列数据结构 队列遵循先进先出(FIFO,也称为先到先服务)原则的一组有序的项。队列在尾部添加 ...
学习建议 1.视频学习---认知 建议:在中国慕课上找“数据结构”相关的视频教程。中国大学MOOC 推荐清华大学、北京大学、浙江大学的教程,可先试看,然后根据自身的情况选择视频进行学习。 视频学习可以帮助我们对数据结构有基本的认知,比一开始就去看书,更容易坚持,并且印象也会更深 ...
tip:这个算法还是有点难度的,而且有些地方只可意会不可言传,很难用文字表述出来,也可能我语言表达能力不行😂,反正读者要多动脑筋。而且我也可能有写错想错的地方,毕竟我也是刚学,如果有大佬看出问题了,请务必跟我说,我好改正,谢谢了。 目录 简单介绍 基本思想 ...
〇、前言 <<数据结构与算法系列之总篇>> 一、排序算法 下面常用排序算法的动图都是从网络挑选的好理解的动图。 01、冒泡排序 02、选择排序 03、插入排序 04、希尔排序 05、快速排序 06、归并排序 ...