算法中的基础知识点,你知道多少呢!

  1. 递归

    场景:

    ​ 1)斐波那契数列

  2. 递推

    场景:

    ​ 1)斐波那契数列

    ​ 2)递归 + 回溯

  3. 先进后出

    场景:

    ​ 1)path.resolve /a/b/…/c/d —> /a/c/d

    ​ 2)JSX

    ​ 3)加减乘除表达式(2*3)+ 4

    ​ 4)函数嵌套,函数调用栈

  4. 队列

    先进先出

  5. 链表

    • 动态数据结构
    • 单向链表
    • 双向链表
    • 反转链表
    • 环形链表
    • 跳表
    // 节点
    class Node{constructor(elment){this.element = element;this.next = null;}
    }// 链表
    class LinkNodeList{constructor(){this.head = null;this.length = 0;}// 增加节点append(element){let node = new Node(element);let cur;// 两种情况:1.链表为空	2.链表不为空if(this.head == null){this.head = node;} else{cur = this.head;while(cur){cur = cur.next;}cur.next = node;this.length += 1;}}// 删除removeAt(index){let cur = this.head;let prev;let i;if(index == 0){this.head = cur.next;cur.next = null;} else {while(i<index){prev = cur;cur = cur.next;i++;}prev = cur.next;cur.next = null;}}// 打印链表print(){let cur = this.head;let result = [];while(cur){result.push(cur.element);cur = cur.next;}return result;}
    }
  6. 数组

    • 连续存储
    • 删除、新增复杂度比较高
    1. 二叉树

    2. 二叉树的三种遍历

      1)前序遍历(根节点->左节点->右节点)

      2)中序遍历(左节点->根节点->右节点)

      3)后序遍历(左节点->右节点->根节点)

    3. 二叉搜索树

      性质:

      • 若左子树不为空,则左子树上所有节点的值都小于根节点的值

      • 若右子树不为空,则右子树上所有节点的值都大于根节点的值

      • 左右子树也分别为二叉搜索树

      • 中序遍历,为递增有序列表

  7. react中的fiber和虚拟dom

  8. 二分法

  9. 位运算

    1. 按位与:&

      示例:(5&1相当于余于2)

      101 // 5     101 // 5
      001 // 1     010 // 2
      001 // 1     000 // 0
      
    2. 按位或:|

    3. 按位异或:^

    4. 按位取反:~

    5. 按位移:>>左移;<<右移

      示例:(5>>1相当于除于2,5<<1相当于乘于2,)

      5>>1 // 2
      5<<1 // 10
      

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/44459.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VBA实现Excel的数据透视表

前言 本节会介绍通过VBA的PivotCaches.Create方法实现Excel创建新的数据透视表、修改原有的数据透视表的数据源以及刷新数据透视表内容。 本节测试内容以下表信息为例 1、创建数据透视表 语法&#xff1a;PivotCaches.Create(SourceType, [SourceData], [Version]) 说明&am…

打卡第8天-----字符串

进入字符串章节了,我真的特别希望把leetcode上的题快点全部都给刷完,我是社招准备跳槽才选择这个训练营的,面试总是挂算法题和编程题,希望通过这个训练营我的算法和编程的水平能有所提升,抓住机会,成功上岸。我现在的这份工作,真的是一天都不想干了,但是下家工作单位还…

Spring——配置说明

1. 别名 别名&#xff1a;如果添加了别名&#xff0c;也可以使用别名获取这个对象 <alias name"user" alias"user2"/> 2. Bean的配置 id&#xff1a;bean 的唯一标识符&#xff0c;也就是相当于我们学的对象名class&#xff1a;bean 对象所对应的…

无法解析主机:mirrorlist.centos.org Centos 7

从 2024 年 7 月 1 日起&#xff0c;在 CentOS 7 上&#xff0c;请切换到 Vault 存档存储库&#xff1a; vi /etc/yum.repos.d/CentOS-Base.repo 复制/粘贴以下内容并注意您的操作系统版本。如果需要&#xff0c;请更改。此配置中的版本为 7.9.2009&#xff1a; [base] name…

Mac虚拟机跑Windows流畅吗 Mac虚拟机连不上网络怎么解决 mac虚拟机网速慢怎么解决

随着技术的发展&#xff0c;很多用户希望能在Mac电脑上运行Windows系统&#xff0c;从而能够使用那些仅支持Windows系统的软件。使用虚拟机软件可以轻松满足这一需求。但是&#xff0c;很多人可能会有疑问&#xff1a;“Mac虚拟机跑Windows流畅吗&#xff1f;”&#xff0c;而且…

【AI前沿】深度学习基础:训练神经网络

文章目录 &#x1f4d1;前言一、前向传播与反向传播1.1 前向传播&#xff08;Forward Propagation&#xff09;1.2 反向传播&#xff08;Backpropagation&#xff09; 二、损失函数和优化算法2.1 损失函数&#xff08;Loss Function&#xff09;2.2 优化算法&#xff08;Optimi…

极狐Gitlab使用

目录 续接上篇&#xff1a;极狐Gitlab安装部署-CSDN博客 1. 关闭注册功能 2. 创建群组 3. 创建用户 5. 邀请成员到群组 6. 设置导入导出项目源 7. 通过gitee导入库 8. 通过仓库URL导入 9. 自创建项目 10. 默认分支main的权限 11. 使用普通用户进入自建库 12. 创建用…

python的isinstance和type

class A:passclass B(A)passbB()#isinstance可以进行继承关系的判断 print(isinstance(b,B))#Trueprint(isinstance(b,A))#Trueprint(type(b) is B)#Trueprint(type(b) is A)#Falseprint(type(b),A,B,b)#<class __main__.B> <class __main__.A> <class __main__…

B. Corner Twist(cf956)

题意&#xff1a;给你两个网格&#xff0c;a和b&#xff0c;都是n行和 m 列。网格中的所有数值都是 0 &#xff0c; 1 或 2 。 您可以多次对 a&#x1d44e; 执行以下操作&#xff1a; 选取网格中任意一个长宽的子矩形。您可以选择整个网格作为子矩形。子矩形有四个角。取所选…

【Linux 线程】线程的基本概念、LWP的理解

文章目录 一、ps -L 指令&#x1f34e;二、线程控制 一、ps -L 指令&#x1f34e; &#x1f427; 使用 ps -L 命令查看轻量级进程信息&#xff1b;&#x1f427; pthread_self() 用于获取用户态线程的 tid&#xff0c;而并非轻量级进程ID&#xff1b;&#x1f427; getpid() 用…

生成日志系统和监控

背景&#xff1a;已知某后台服务将日志存放在本地硬盘的日志文件中&#xff0c;该服务也支持代码热更新&#xff0c;并在完成热更新后输出一条日志。我们需要对服务日志进行监控&#xff0c;以确保文件热更新后的错误能被第一时间发现。 我们提供 Python 程序模拟&#xff08;…

matlab仿真 模拟调制(上)

&#xff08;内容源自详解MATLAB&#xff0f;SIMULINK 通信系统建模与仿真 刘学勇编著第五章内容&#xff0c;有兴趣的读者请阅读原书&#xff09; 1.幅度调制 clear all ts0.0025; %信号抽样时间间隔 t0:ts:10-ts;%时间矢量 fs1/ts;%抽样频率 dffs/length(t); %fft的频率分…

国内从事人机交互的团队——浙江工业大学

一、背景 当我们选择一个新的课题后&#xff0c;需要清楚的了解从事该方向的团队都有哪些&#xff0c;这样可以及时跟踪和学习大牛团队的最新进展&#xff0c;以免自己认为的good idea&#xff0c;其实早就已经研究过了。 随着人形机器人的发展&#xff0c;机器人不仅需要在无…

人类远未触及自然规律的本质

我想知道上帝是如何创造这个世界的&#xff0c;对于这样或那样的现象我不感兴趣&#xff0c;我想知道的是他的思想&#xff0c;其余的都是细枝末节。——爱因斯坦 人类对自然规律的研究已经取得了不少进展&#xff0c;但是看起来研究清楚了原理&#xff0c;其实只是发现了更深…

【Windows】实现窗口子类化(基于远程线程注入)

目录 前言 原理解释 完整项目 相关文献 文章出处链接&#xff1a;[https://blog.csdn.net/qq_59075481/article/details/140334106] 前言 众所周知&#xff0c;DLL 注入有多种用途&#xff0c;如热修补、日志记录、子类化等。本文重点介绍使用 DLL 注入对窗口进行子类化。…

mysql中count的区别

count(1)和count(*) 从执行计划来看&#xff0c;count(1)和count(*)的效果是一样的当表的数据量大些时&#xff0c;对表分析之后&#xff0c;使用count(1)还要比使用count(*)用时多当数据量在1W以内时&#xff0c;count(1)会比count(*)的用时少&#xff0c;不过也差不多如果cou…

GOLLIE : ANNOTATION GUIDELINES IMPROVE ZERO-SHOT INFORMATION-EXTRACTION

文章目录 题目摘要引言方法实验消融 题目 Gollie&#xff1a;注释指南改进零样本信息提取 论文地址&#xff1a;https://arxiv.org/abs/2310.03668 摘要 大型语言模型 (LLM) 与指令调优相结合&#xff0c;在泛化到未见过的任务时取得了重大进展。然而&#xff0c;它们在信息提…

又上热搜!曝iPhone 16将支持40W快充

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 更多资源欢迎关注 7月9日晚&#xff0c;微博话题“iPhone16系列或将支持40W快充”上了热搜榜&#xff0c;这已经是iPhone 16系列第N次上热搜了。 据爆料&#xff0c;iPhone 16系列充电功率将提升至40W&#xff0c;并且…

Java自己实现动态数组

数组是由一组元素&#xff08;值或变量&#xff09;组成的数据结构&#xff0c;每个元素有至少一个索引或键来标识。 数组内的元素是连续存储的&#xff0c;所以数组中元素的地址&#xff0c;可以通过其索引计算出来 空间占用 Java 中数组结构为 8 字节 markword 4 字节 cl…

米家立式学习灯怎么样?书客、米家、孩视宝三款护眼大路灯巅峰PK!

米家立式学习灯怎么样?不知从什么时候开始&#xff0c;青少年成为了近视重灾区&#xff0c;主要促成近视的原因有长时间接触电子产品、学习时的不正确姿势、不良的灯光环境等&#xff0c;除了减少电子产品的使用以及多室外活动之外&#xff0c;剩下的就是室内孩子经常学习的光…