首页
博客
源码
资源
博客
源码
写文章
发布博客
发布资源
登录
X
算法
相关资讯
热门
最新
代码人生
01-01 08:00
代码人生
算法-斐波那契数列(斐波那契数列算法框图)
算法-斐波那契数列(斐波那契数列算法框图),一、定义斐波那契数列fib(n)又被称为黄金分割数列,该数列由0和1开始,通俗的说话就是后面的每个数字都是前两个数字相加之和。例如:0,1,1,2,3,5,8,13,21,34,55,89……一般可以使用递归、缓存、递推方式解算出来。同时斐波那契是有数学公式的,矩阵,位运算等这些方面的概念。二、递归varfib=function(N){if(N==1||
530
后端
01-01 08:00
后端
算法中的伪代码语法格式
算法中的伪代码语法格式,算法中的伪代码语法格式伪代码pseudo-code,是一种非正式的,类似自然语言,用于描述模块结构图的语言。对于熟练不同编程语言的程序员要理解其他编程语言编写的功能时很困难,而伪代码清晰、简单、可读性好,可将整个算法运行过程的结构用接近自然语言的形式描述出来。伪代码不关心软件工程的问题,常忽略数据抽象、模块性、错误处理的问题。1、操作类型操作类型符号示例分配←或:=c←2π
300
代码人生
01-01 08:00
代码人生
算法系列-二叉树遍历(非递归实现)
算法系列-二叉树遍历(非递归实现),在内卷潮流的席卷下,身为算法小白的我不得不问自己,是否得踏上征程,征服这座巍巍高山。从零开始,终点不知何方,取决于自己可以坚持多久。希望你可以和我一样,克服恐惧,哪怕毫无基础,哪怕天生愚钝,依然选择直面困难。数据结构分类队列栈前言本篇作为二叉树遍历的下篇,我们主要分析如何通过非递归的方式实现二叉树的遍历。有对二叉树不了解或单纯想知道二叉树的遍历实现的同学,建议先
255
代码人生
01-01 08:00
代码人生
算法基础入门-数据结构-链表(数据结构链表的经典算法)
算法基础入门-数据结构-链表(数据结构链表的经典算法),也许是对于数据处理这个技能自己太匮乏了,也没学习过算法,算是梳理下自己的知识点还有所学吧。1.链表简介:多个元素组成的列表元素储存不连续,用next指针连在一起。1.1数组和链表的区别:数组:增删非收尾元素时,往往需要移动元素链表:增删非收尾元素,不需要移动元素,只需要更改next的指向即可2.JS中的链表JavaScript中没有链表可以用
245
后端
01-01 08:00
后端
算法学习之路
算法学习之路,上一篇文章学习数据结构的框架思维,我也发到了不少其他圈子,受到了大家的普遍好评,这一点我真的没想到,十分感谢大家的认可,我会更加努力,写通俗易懂的算法文章。有很多朋友问我数据结构和算法到底该怎么学,尤其是很多朋友说自己是「小白」,感觉这些东西好难啊,就算看了之前的「框架思维」,也感觉自己刷题乏力,希望能聊聊我从一个非科班小白一路是怎么学过来的。首先要给怀有这样疑问的朋友鼓掌,因为你现
237
后端
01-01 08:00
后端
算法八 搜索(Java实现)
算法八 搜索(Java实现),刷题时间:2021.9.16-2021.9.24求最短:宽搜回溯、尝试、试探:深搜1、LeetCode200岛屿数量思路1:(DFS)1标记当前搜索位置已,被搜索(标记当前位置的mark数组为1)。2.按照方向数组的4个方向,拓展4个新位置newx、newy。3.若新位置不在地图范围内,则忽略。4.如果新位置未曾到达过(mark[newx][newy]为0)、且是陆地
229
代码人生
01-01 08:00
代码人生
算法 选择排序搬血,堆排序化灵
算法 选择排序搬血,堆排序化灵,排序常见的排序算法image-20211119082822804常见排序算法的实现选择排序最慢排序(最好理解)所以搬血基本思想:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。直接选择排序在元素集合array[i]--array[n-1]中选择关键码最大(小)的数据元素若它不是这组元素中的最后一个(第一个)
209
代码人生
01-01 08:00
代码人生
算法学习:前端实现快排,堆排,优先级队列(JS)
算法学习:前端实现快排,堆排,优先级队列(JS),快排快排的实现基于分层(partition)和分治,先来了解什么是分层。荷兰国旗问题荷兰国旗是由红白蓝3种颜色的条纹拼接而成,如下图所示:给定一个整数数组,给定一个值K,这个值在原数组中一定存在,要求把数组中小于K的元素放到数组的左边,大于K的元素放到数组的右边,等于K的元素放到数组的中间,最终返回一个整数数组,其中只有两个值,分别是等于K的数组部
204
代码人生
01-01 08:00
代码人生
算法专题之链表(数据结构链表的经典算法)
算法专题之链表(数据结构链表的经典算法),前言链表是一种物理存储结构上非连续的数据结构,数据的逻辑顺序是通过链表中的指针链接次序实现相互勾连.链表相对数组而言有很多不同之处,在特定场景下能发挥独特的优势.例如链表的插入和删除操作比数组效率高,数组需要改变其他元素的位置,而链表只需要改变指针的指向.javascript中没有直接生成链表的api,但仍然可以利用语言本身的特性实现一条链表并完成其他操作
198
代码人生
01-01 08:00
代码人生
算法:滑动窗口最大值(滑动窗口算法原理)
算法:滑动窗口最大值(滑动窗口算法原理),给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字,滑动窗口每次只向右移动一位,返回滑动窗口中的最大值。示例1:输入:nums=[1,3,-1,-3,5,3,6,7],k=3输出:[3,3,5,5,6,7]解释:滑动窗口的位置最大值--------------------[13-1]-35
197
«
1
2
3
4
5
6
7
8
9
»