算法知识要点

决策树算法知识要点 1 决策树的基本概念 决策树(decision tree ) 是一种基本的分类与回归方法(这里主要讨论用于分类的决策树); 决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程 可以认为是 if-then 规则的集合。 由决策树的根结点到叶结点的每一条路径构建一条规则 路径上内部结点的特征对应着规则的条件,而叶结点的类对应着规则的结论 决策树的路径或其对应的if-then 规... 阅读详情

非递归的题目:

二叉树的前序、中序、后序,全排列,全子集


队列一定要掌握好,宽度优先搜索也是很基础的东西


平衡二叉搜索树,只需要知道他的定义和结构是什么,有什么样的特性,可以支持增删改操作,不需要细究其增删改方法如何实现。


记忆化搜索,即动态规划是一种思想,干的事情是:否决掉了中间重复计算的状态,如果遇到计算过的,直接return(中间状态用哈希表存储;顺序计算,把前一个状态的计算记录下来)

记忆化搜索说明用递归来做,这样会影响空间优化的事情。所以要尽量用多重循环(自底向上)的方式实现动态规划。



(自顶向下和自底向上没有优劣,只是思维方式不一样。我以后会选择“自顶向下”来做)

分治与动态规划的区别:一刀切,分治下去,一般不会有重复的点。但是动态规划则会有重复的点。

递归如果自己不熟悉的话,一定要自己手动写testcase

@@@

 for(int i = 1; i < nums.length; i++){
            f[i] = false;
            for(int j = 0; j < i; j++){
                //or的一种编码方式,for循环,看某个符合条件,就break
                if(f[j] && (i - j) <= nums[j] ){
                    f[i] =true;
                    break;
                }
            }
        }

@@@

求最小值的时候,要讲数据先初始化成最大值----Integer.MAX_VALUE;

比较大小的时候,可以写简洁一点-----f[i] = Math.min(f[i],f[j]+1);

数组拿到手,可以先排个序,一般都会对解题有帮助。但如果要求时间复杂度为O(n)的,则不可行,因为排序至少O(nlogn)

merge一般需要用到指针,用到指针的循环,一般用while,而不是for。

哈希表的作用是用来确定元素在不在集合表中

@@@关于链表的基础知识,当node1 = node2,print(head)的时候,head没有动,还是输出123



链表中dumynode的使用:

ListNode dumynode = new ListNode(0);

dumynode.next = head;

head = dumynode;

.....

return dumynode.next;

链表是否为空的check:

head != null && head.next != null  

head.next != null && head.next.next != null

@@@@@数据结构题

median的问题--- quick select 快排

data stream 的概念是指给你一个数组,只能for循环一次。因为流的概念就是query一次或者一次request

动态的增加一个数,求最大值;动态的增加一个数,求中位数等----这一类属于数据结构题。

有一种数据结构支持找最大值或最小值----PriorityQueue/Heap 如何用这两个数据结构  O(logn) pop/push O(n) getMin/getMax

LRU cache 

序列,在中间删除一个数,再append到尾巴上-----linked list

key value/member ship ------hash

k近邻算法知识要点 1 kkk 近邻算法 kkk近邻法(k-nearest neighbor, k-NN) 是一种基本的分类与回归方法,这里只讨论分类问题中的k-NN。 kkk近邻法的三个基本要素:kkk值的选择、距离度量、分类决策规则。 kkk近邻法没有显式的学习过程,实际上利用训练集对特征空间进行划分,并作为其分类的"模型"。 kkk近邻算法 输入:训练数据集 T={(x1,y1),(x2,y2)... 阅读详情

相关推荐

算法之知识图谱:从Java编程基础到算法核心要点

在算法学习的道路上,我们都在不断探索,希望掌握更多知识,提升解决问题的能力。今天,让我们一起深入研究这份文档,其中涵盖了丰富的算法相关知识,从Java编程基础到各种算法概念、数据结构以及问题类型等。我希望通过分享这些内容,能和大家共同进步,让我们对算法的理解更加全面和深入。

wj_rdk的博客 1676

算法笔记知识点整理大全

第二章 C/C++快速入门 2.1 基本数据类型及输入输出 2.1.2 变量类型及输入输出 类型 取值范围 占用字节 格式符 int 10的9次方以内整数 4字节(32位) %d long long 10的10次方~10的18次方 8字节(64位) %lld float 6~7位有效精度 32字节 %f double 15~16位有效精度 64字节 %lf char -128~127 -128~127 %c(字符串%s不加&) bool 0/1 0/1 2.

weixin_46148956的博客 2188

朴素贝叶斯算法知识要点

1 朴素贝叶斯法 典型的生成学习方法。 利用训练数据学习P(X∣Y)P(X|Y)P(X∣Y)和P(Y)P(Y)P(Y)的概率估计,从而得到联合概率分布:P(X,Y)=P(Y)P(X∣Y)P(X,Y)=P(Y)P(X|Y)P(X,Y)=P(Y)P(X∣Y) 概率估计方法 极大似然估计(见3(2)先验概率及条件概率的计算) 贝叶斯估计 用极大似然估计可能会出现所要估计的概率值为0 的情况。这时会...

tigerlib的博客 635

关于算法的知识要点笔记

算法的特性: 1)输入、输出。可以有0个输入,但至少有一个输出。 2)确实性。相同的输入,输出不会出现二义性。 3)有穷性。算法不会出现无限循环的,总有个时间能执行完。 4)可行性。这个不怎么好理解,粗略地认为每一步都必须是可行的。 算法的时间复杂度和空间复杂度 一般用大O记法,推导大O阶记法的几个要领: 1)用常数1取代运行时间中所有的加法常数。 2)在修改后的运

qq_16390523的专栏 557

数据结构与算法知识要点简明教程(合集)

参考:https://blog.youkuaiyun.com/jiaoyangwm/article/details/80808235 本文仅是将他人博客经个人理解转化为简明的知识点,供各位博友快速理解记忆,并非纯原创博客,如需了解详细知识点,请查看参考的各个原创博客。 ...

编程之路 2604

深度学习算法相关岗-校招、社招、实习-面试知识要点及答案分享

本文主要整理了深度学习相关算法面试中经常问到的一些核心概念,并给出了细致的解答,分享给大家。 内容整理自网络,原文链接:https://github.com/HarleysZhang/2019_algorithm_intern_information/blob/master/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E9%9D%A2%E8%AF%95%E9%A2%98.md 互联算法工程师面试必读书籍推荐 广告 百面深度学习 算法工程师带你去面...

lqfarmer的博客 4543

回溯算法知识要点

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、回溯是什么?二、回溯算法的步骤1.题目描述2.读入数据总结 前言 本篇记录回溯算法要点 回溯算法是一种遍历暴力搜索,时间复杂度很高。通常用于搜索一个问题所有的解,可通过深度优先遍历的思想实现。与动态规划的区别是,动态规划通常只需要求解最优解,而回溯要遍历所有解。 一、回溯是什么? 回溯法采用试错的思想,它尝试分步地去解决一个问题,当发现有分步答案不正确的时候,它将取消上一步的计算,再尝试其他可能的解答。回溯法通常用递归来

weixin_41404597的博客 1503

CSP-J第一道模拟题——贪心的小朋友

第一行是一个整数 n,表示糖果的堆数 第二行是由空格分隔的 n 个正整数,即数组 candies,表示每堆糖果的数量。后一个离场的小朋友所拿的糖果总堆数必须小于前一个小朋友(对第一个小朋友没有限制)后一个离场的小朋友所拿的糖果总量必须小于前一个小朋友(对第一个小朋友没有限制)这道题目很简单,但是必须删去无用的部分,看清题目,才能得分哦!输出一行共一个整数,表示最多可能有多少个小朋友吃上了美味的糖果。输出最多可能有多少个小朋友吃上了美味的糖果。离场之后的小朋友才能吃上美味的糖果。每个小朋友可以拿多堆糖果。

weixin_29959235的博客 639

数据结构核心知识点与算法实现要点总结

我测试时发现,即使是复杂的图算法演示,也能在生成后直接运行查看效果,省去了本地配置环境的麻烦。在实际开发中,图算法常用于社交网络分析、路径规划等场景。实际编程中,O(n²)的排序算法在小数据量时效果尚可,但数据量增大时需考虑更高效的算法如快速排序(O(nlogn))。线性表、树、图等结构的差异主要体现在元素间关系的组织方式上,而存储方式(顺序/链式)则直接影响算法的实现效率。:通过动画演示理解算法执行过程,比如在InsCode平台生成的演示项目中,可以直观观察快速排序的分区过程或二叉树的遍历顺序。

BloodstoneHawk77的博客 525

YOLOv8中的C2f模块代码详解

在YOLOv8网络结构中,C2f模块(CSP Bottleneck with 2 Convolutions)是一个关键组件,用于实现跨阶段部分聚合

zzzyyy8的博客 3万+

OPC UA 服务端的模拟工具及客户端工具

详细介绍如何使用 Prosys OPC UA Simulation Server 作为 OPC UA 服务端的模拟工具来生成数据模型,并使用 Softing OPC UA Client 作为客户端工具,直观地查看和验证模拟生成的数据。

weixin_44462773的博客 9883

【计算机算法与设计(1)】算法课程要点总览:快速回顾与知识地图

【计算机算法与设计(1)】算法课程要点总览:快速回顾与知识地图

hiliang521的博客 1435

Akamai移动端Sensor数据采集与BMP风控机制深度解析

本文深度解析了Akamai在移动端风控中的核心机制,重点阐述了Sensor数据如何通过采集陀螺仪、加速度计等硬件信息,结合设备指纹生成连续且符合物理规律的行为轨迹。详细剖析了数据从采集、加密校验到通过BMP风控三重验证(校验位、时间差、数据逻辑)的完整流程,并提供了从模拟优化到自建风控模型的实用应对思路。

quiet的专栏 290

深度/机器学习基础知识要点:CTC算法

Connectionist Temporal Classification (CTC) CTC适合语音识别和手写字符识别任务 定义 输入表示:符号序列 X=[x1,x2,...,xT]X=[x_{1},x_{2},...,x_{T}]X=[x1​,x2​,...,xT​] 输出表示:符号序列Y=[y1,y2,...,yU]Y=[y_{1},y_{2},...,y_{U}]Y=[y1​,y2...

Zack的博客 1919

国内用户稳定开通ChatGPT Plus会员的完整实操指南

ChatGPT作为当前最先进的AI对话模型,其技术原理基于Transformer架构和大规模语言预训练。通过深度学习技术,ChatGPT能够理解自然语言并生成高质量回复,在代码生成、文档分析等场景具有重要技术价值。对于需要高频使用的开发者而言,ChatGPT Plus会员提供了优先访问权和GPT-4模型支持等核心功能。在实际应用场景中,国内用户常面临支付限制和区域封锁等挑战。本文针对这些痛点,重点解析如何通过可靠的支付渠道和账号安全策略,实现稳定的会员开通方案,帮助用户突破技术使用壁垒,充分发挥AI助手在开

weixin_29042035的博客 959

详解AUTOSAR:AUTOSAR架构中的配置文件(拓展篇—7)

查看AUTOSAR代码包时会发现一些这样格式的文件:xxx_PBcfg.c、xxx_Lcfg.c和xxx_Cfg.h,本篇博文讲一讲这几个配置文件的作用和特点。

不脱发的程序猿 2148

xtragrid 某个值 查找_敲黑板!经典查找算法的知识要点

算法说明:查找是在大量的信息中寻找一个特定的信息元素的过程;在计算机应用中,查找是常用的基本运算。定义:根据给定的某个值,在查找表中找到一个其关键字等于给定值的数据元素(或记录)的位置;查找表是同一类型的数据元素(或记录)构成的集合。分类:静态查找(使用线性表结构组织数据,不改变集合内的数据元素)和动态查找(增减集合内的数据元素);静态查找:顺序查找、二分查找、索引查找;动态查找(略)...

weixin_32819955的博客 140

PostgreSQL的学习心得和知识总结(八十二)|深入理解PostgreSQL数据库SQL语句的词法解析和语法解析流程

postgresql 词法解析语法解析流程

孤傲小二~阿沐的博客 5449

必学排序与查找算法:6个核心知识点梳理(附特性+实操要点)

掌握算法特性后,精准选型能大幅提升程序效率,结合实际场景总结如下:小规模数据(n<10):优先插入排序(稳定)、选择排序(简单);中等规模数据:希尔排序(无额外空间)、快速排序(效率高);大规模数据:快速排序(首选),需稳定排序则选归并排序(补充:虽未梳理,但与快速排序复杂度一致,稳定);有序数据查找:折半查找(O(logn)),无序数据查找:线性查找(简单)。排序与查找算法的核心是理解“逻辑本质”,而非死记硬背代码。实际应用中,需结合数据规模、稳定性需求、空间限制综合选型,灵活调整算法细节。

2401_85893688的博客 601

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

涨知识|最新十种深度学习算法要点及代码解析「精华」

https://www.toutiao.com/i6634340699275788813/    2018-12-13 13:10:15 摘要:前言 谷歌董事长施密特曾说过:虽然谷歌的无人驾驶汽车和机器人受到了许多媒体关注,但是这家公司真正的未来在于机器学习,一种让计算机更聪明、更个性化的技术。 也许我们生活在人类历史上... 前言 谷歌董事长施密特曾说过:虽然谷歌的无人驾驶汽车和机器人...

喜欢打酱油的老鸟 734

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

机器学习算法难学吗?一文带你掌握机器学习知识要点

只要一家互联网公司的营收超过 5 个亿,那我可以确定的说,这家公司需要具备机器学习的能力。为什么呢?因为大部分互联网公司的盈利模式基本都会围绕搜索、推荐和广告而去。就比如极客时间,他的课...

zenRRan的博客 1555

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

蓝桥杯算法考前复习要点和归纳总结

一、重要知识要点 1、穷举法 2、枚举法 3、动态规划 4、回溯法 5、图论 6、深度优先搜索(DFS) 7、广度优先搜索(BFS ) 8、二叉树 9、递归 10、分治法、矩阵法 11、排列组合 12、素数、质数、水仙花数 13、欧几里得定理gcd 14、求最大公约数、最小公倍数 15、海伦公式(求三角形面积) 16、博弈论 17、贪心...

星辰大数据的博客 1万+

高中信息技术《算法与程序设计VB(选修)》知识要点

原博主: http://blog.sina.com.cn/buyanshibai 【转载】 (一)算法 1.定义 相关题解: 1算法:就是解决问题的方法和步骤。算法是程序设计的“灵魂”,算法+数据结构=程序。 单选题 1、运用计算机程序解决实际问题时,合理的步骤是(B)。 A、设计算法→分析问题→编写程序→调试程序 B、分析问题→设计算法→编写程序→调试程序 C、分析问题→编...

weixin_30858241的博客 2148

系统梳理了算法的核心概念、特性、设计与分析关系、常用技术,以及与程序的区别和评价指标,结构清晰、要点全面,是学习算法基础的重要知识框架

|------|----------------| | **主元选择** | 若固定选 `A[r]`(Lomuto)或 `A[(p+r)//2]`(三数取中),则确定;若随机选,则算法变为**随机化算法**,确定性不成立(但期望性能可分析)→ 标准快排默认**确定性主元选择**。 | | **划分逻辑** | 比较操作 `≤` 无歧义;`swap` 顺序唯一;边界更新 `i++` 明确。 | | **递归顺序** | 先左后右(或反之)固定,不影响结果,但保证执行路径唯一。 |

[Blog][Domain] programb.blog.youkuaiyun.com 351
上一篇: java 内存分配
下一篇: js的装载和执行顺序
kotomi_du
博客等级 码龄10年 5粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值