数据结构与算法
文章平均质量分 55
CreatorRay
这个作者很懒,什么都没留下…
展开
-
GPT每日面试题—如何实现反转链表
充分利用ChatGPT的优势,帮助我们快速准备前端面试。今日问题:如何实现反转链表?原创 2024-03-26 11:52:48 · 206 阅读 · 0 评论 -
JS实现基数排序
基数排序(Radix Sort)作为一种非比较性的排序算法,以其独特的思想和高效的性能而受到广泛关注。本文将深入研究基数排序的原理、实现方式等。原创 2023-12-04 15:10:10 · 108 阅读 · 0 评论 -
JS实现桶排序
桶排序(Bucket Sort)作为一种分布式排序算法,具有简单、直观且高效的特点。本文将深入研究桶排序的原理、实现方式等。原创 2023-12-04 15:02:23 · 87 阅读 · 0 评论 -
JS实现计数排序
计数排序(Counting Sort)作为一种非常特殊且有效的排序算法,具有线性时间复杂度的特点,适用于一定范围内的整数排序。本文将深入研究计数排序的原理、实现方式等。原创 2023-12-04 14:44:36 · 62 阅读 · 0 评论 -
JS实现希尔排序
希尔排序(Shell Sort)是一种插入排序的改进版本,旨在解决插入排序在处理大规模数据时性能较差的问题。原创 2023-12-04 14:24:01 · 96 阅读 · 0 评论 -
JS实现堆排序
堆排序(Heap Sort)作为一种高效的排序算法,具有稳定的性能和卓越的时间复杂度。本文将深入研究堆排序的原理、实现方式等。原创 2023-12-04 14:22:29 · 56 阅读 · 0 评论 -
JS实现归并排序
归并排序(Merge Sort)作为一种高效而稳定的排序算法,被广泛应用于实际场景。本文将深入研究归并排序的原理、实现方式等。原创 2023-12-01 17:04:30 · 127 阅读 · 0 评论 -
JS实现插入排序
插入排序(Insertion Sort)是一种简单直观的排序算法,其核心思想是逐步构建有序序列,对于每个未排序的元素,在已排序部分找到合适的位置插入。本文将深入研究插入排序的原理、实现方式等原创 2023-12-01 16:52:56 · 262 阅读 · 0 评论 -
JS实现选择排序
在计算机科学中,排序是一项基本而重要的任务,而排序算法的性能直接关系到数据处理的效率。选择排序(Selection Sort)虽然不如一些高级排序算法那样高效,但其简单易懂的实现方式使其在某些场景下仍然有其用武之地。本文将深入讨论选择排序的原理、实现方法等。原创 2023-12-01 16:36:14 · 40 阅读 · 0 评论 -
JS实现快速排序
排序算法是计算机科学中的一个基础问题,而快速排序(QuickSort)作为其中一种经典而高效的算法,一直备受推崇。其在平均情况下具有较好的性能,被广泛应用于实际场景中。本文将深入探讨快速排序的原理、实现方法以及其在排序算法领域的地位。原创 2023-11-30 02:32:49 · 195 阅读 · 0 评论 -
JS实现二分查找
最近在面试的时候被问到手写实现二分查找,虽然二分查找很早就听过,也知道实现原理,但是手撸起来,总是差点意思,正好复习一下。作为前端程序员,可能面试绝大部分公司不需要能写很复杂的算法问题,但是这些基本的数据结构和常见算法,还是得能手撸出来。原创 2023-11-23 00:32:27 · 113 阅读 · 0 评论 -
JS使用普通队列实现击鼓传花游戏
最近复习到了数据结构中的普通队列部分,来实现一个击鼓传花游戏的应用。循环队列的一个例子就是击鼓传花(hot potato),在这个游戏中,孩子们围成一个圆圈,把花尽快地传递给旁边的人。某一时刻传话停止,这个时候花在谁手里,谁就退出圆圈、结束游戏。重复这个过程,直到只剩一个孩子(胜者)首先我们需要实现队列这个数据结构。class Queue { constructor() { // count属性控制队列的大小 this.count = 0;原创 2021-06-17 09:04:01 · 560 阅读 · 0 评论 -
JS使用栈实现十进制转二进制
最近在准备面试,复习到了数据结构与算法的知识,到了栈这块内容,栈的特点大家都知道,先进后出。数据结构的特点决定了它的应用。大家在准备面试的时候,多多少少都会复习到数据结构的知识,大部分人都觉得这种东西没用,在日常的开发基本用不到,就是为了面试造火箭,啥啥啥的。数据结构一定不是无用的,无论是前端还是后端,数据都是我们最关注的点。其实前端的任务,我们可以简单总结为,收集数据,展示数据。后端的任务,我们可以总结为,处理数据,存储数据。无论你在开发什么应用,都不可能离开数据,那么问题就来了,数据不是凭空原创 2021-06-09 20:38:52 · 876 阅读 · 0 评论 -
前端面试刷题day9(每日更新前端面试高频考察点)
码字不易,有帮助的同学希望能关注一下我的微信公众号:Code程序人生,感谢!代码自用自取。每天都提供一道关于前端面试中常见的题目。并且我建立了一个QQ群(425554900),QQ群内提供大量面试题目和答案,包括CSDN每日更新的题目答案。欢迎大家加群交流,打卡,共同进步。今日题目:请用算法实现,从给定的无序的、不重复的数组data中,取出n个数,使其相加和为sum。并给出算法的时间/空间复杂度。(不需要找出所有的解,找到一个即可)题解:/*** * 解题思路:从array中取出n个数.原创 2021-03-23 11:05:19 · 299 阅读 · 0 评论 -
前端数据结构与算法复习日记---直接插入排序
码字不易,有帮助的同学希望能关注一下我的微信公众号:Code程序人生,感谢!代码自用自取。直接插入排序是插入类排序算法里比较简单的一个了。它的核心思路就是:首先默认数组的第一项元素是最小的(升序),然后把它push进新数组里,然后对老数组进行一个循环遍历,把当前被遍历的这项元素与新数组里的每一项进行对比,如果比它小,就插入到当前新数组的位置。这个算法还是比较简单,容易理解的,下面我们看一下代码实现:function sort(arr) { var newArr = []; var原创 2021-03-07 14:32:26 · 232 阅读 · 0 评论 -
前端数据结构与算法复习日记---前言
码字不易,有帮助的同学希望能关注一下我的微信公众号:Code程序人生,感谢!代码自用自取。数据结构与算法一直是程序员的命脉,对于后端程序员来说,它是必须要熟练的。对于前端程序员,在一些中小型公司的面试中,它可以是加分项,但是并不会起主要的作用。但是在面试大厂时,前端程序员也需要熟练掌握数据结构与算法。我曾经深刻揣摩过,为什么在实际业务中数据结构与算法并没有太大的作用,但是在大厂的面试中,它是核心的考察要素,尤其是对于实习生、应届生和工作经验比较少的人来说。总结下来就是因为,我们都知道数据结构与算.原创 2021-03-07 14:16:56 · 262 阅读 · 0 评论