疑问? 当你搜索 算法书籍的时候 你将发现 所有的算法基本都是基于java或者c的 几乎没有使用javaScript来编写算法的 这是为什么? 我们来了解一下算法和数据结构。 什么是算法 数据结构指的是“一组数据的存储结构”,算法指的是“操作数据的一组方法”。 数据结构是为算法服务的,算法是要作用再 ...
转载 2021-09-09 17:03:00
406阅读
2评论
前端常用算法 ...
转载 2021-07-15 10:46:00
66阅读
2评论
什么是前端什么是后端?前端即网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页。多数后端开发人员从事于构建工作应用程序背后的实际逻辑。前后端需要相互配合,共同完成一个项目。接下来千锋广州小编带你一起来了解什么是前端什么是后端技术:一、什么是前端开发?1、前端概念:前端即网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页。随着互联网技术的发展,HTML5,CSS3,前端
前几天逛 github 的时候看到一些前端算法题,自己做了一遍发现还挺有意思的,因此整理了一下收录 dai
转载 2022-05-06 12:13:48
157阅读
冒泡排序算法的原理如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比比较
转载 2021-03-07 14:58:00
164阅读
2评论
#### 思想 在希尔排序的理解时,我们倾向于对于每一个分组,逐组进行处理,但在代码实现中,我们可以不用这么按部就班地处理完一组再调转回来处理下一组(这样还得加个for循环去处理分组)比如[5,4,3,2,1,0] ,首次增量设gap=length/2=3,则为3组[5,2] [4,1] [3,0]
转载 2021-03-07 17:04:00
131阅读
2评论
选择排序算法原理: 首先从原始数组中找到最小的元素,并把该元素放在数组的最前面,然后再从剩下的元素中寻找最小的元素,放在之前最小元素的后面,知道排序完毕。 思想: 循环 i 次 数组中就有 i个有序元素 里层循环 应该从 i+ 1 开始 , 并且 数组中 第 i 个 为 最小值 演示gif : 实现
转载 2021-03-07 15:26:00
73阅读
2评论
数据结构与算法数据结构与算法有什么关系? 可以容纳数据的结构称为数据结构。 算法是用来对数据结构进行处理的方法。 数据结构是静态的,算法是动态的。线性数据结构(一维数据结构)线性数据结构强调存储与顺序。数组数组特性: 1. 存储在物理空间上是连续的。 2. 底层的数组长度是不变的。(数组定长) 3. 数组的变量指向数组第一个元素的位置。(方括号表示存储地址的偏移量【操作系统小知识: 通过偏移查询数
赌你看不懂,如果你看得懂,请留言
原创 2022-03-03 13:58:26
969阅读
许多前端开发面临的技术瓶颈越来越明显。随着需求快速变化、框架不断迭代,许多开发者逐渐发现自己在写页面、处理样式、管理状态上似乎陷入了死循环。
原创 2月前
82阅读
## RSA和AES前端数据加密,后端数据解密,以及返回参数加密,前端解密,全套源码,由于是市面上常用的是这二种加解密方式,所以就写了这二种,每天会自动更换密钥,后期我会陆续更新其它的加解密算法,技术点采用在新的spring-boot 2.3.1版本+mybatisPlus+mysql数据库 springboot-rsa-aes-demo 介绍 RSA和AES前端数据加密,后端数据解密,以及返回
快速排序的思路: 1、选择数组中间数作为基数,并从数组中取出此基数; 2、准备两个数组容器,遍历数组,逐个与基数比对,较小的放左边容器,较大的放右边容器; 3、递归处理两个容器的元素,并将处理后的数据与基数按大小合并成一个数组,返回。 代码实现: let arr = [85, 24, 63, 45,
转载 2021-03-07 16:44:00
100阅读
2评论
插入排序 插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 算法描述: 一般来说,插入排序都采用 in-place 在数组上实现: 从第一个元素开始,该元素可以认为已经被排序;
转载 2021-03-07 11:06:00
171阅读
2评论
归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略, 分(divide)成一些小的问题然后递归求解, 而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起。 代码演示gif: 归并排序算法我们采用递归的方法
转载 2021-03-07 09:59:00
153阅读
2评论
本节内容算法定义时间复杂度空间复杂度常用算法实例 1.算法定义 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的
         引言瓶子君又来啦,她带着前端算法来了大厂面试越来越难,对算法的要求也越来越多,当面试官问到一个算法题,给出一份完美答案能大大提高面试官的好感度,本系列就是致力于打造一套适用于前端算法。往期精彩系列视频面试超高频在线编程题,搞懂这些足以应对大部分公司前端进阶算法5:全方位解读前端用到的栈结构(+leetcode刷题)10 问 10 答,带你快速入门前端算法前端进阶算法4:链表原来
原创 2021-05-17 15:47:18
867阅读
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在
原创 2022-11-05 07:54:05
93阅读
算法概述算法分类十种常见排序算法可以分为两大类:非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。算法复杂度相关概念稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。不稳定:
转载 2022-11-08 19:30:47
101阅读
1、冒泡排序 2、快速排序 3、二路归并 字符串操作 1、判断回文字符串 2、翻转字符串 思路一:反向遍历字符串 思路二:转化成array操作 3、生成指
原创 2022-04-21 15:29:16
100阅读
前言最近国内大厂面试中,出现 LeetCode 真题考察的频率越来越高了。我也观察到有越来越多的前端同学开始关注算法这个话题。但是算法是一个门槛很高的东西,在一个算法新手的眼里,它的智商门槛要求很高。事实上是这个样子的吗?看完这篇文章你就不会觉得了。一定要耐心看到底,会有重磅干货分享给你。送分题不能丢你常常有听到说面试前刷 leetcode 的说法。但是在刷 leetcode 题目之前,我认为有些
转载 2021-05-08 22:26:51
163阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5