算法笔记

算法笔记.胡凡(完整版) 该资源为胡凡主编的算法笔记完整版pdf文档,资源真实有效请放心下载。 立即下载

提高自己如何把思维模式变成程序的过程。

#双向链表的头在0的索引处,

这样的话,用双向链表实现栈的时候,就是从0处入栈,从0处出栈

实现队列的时候,就是从0处入队,从s.len-1处出队

#deque 是双端队列

offer---insert; poll---remove; peak---examine

#面试常问问题:双向链表和单项链表的区别

区别主要在头结点,for遍历,有无前驱结点地址。 

单向链表的头结点不是哑元(哑元的意思是能不能从头节点遍历,能则不是哑元),遍历的时候要第二次才能进入for循环,第一次需要去找表头,无前驱结点地址,只有后驱结点地址。双向链表头结点是哑元,遍历第一次就可以进入for循环,前后都有结点地址。

#堆 

用完全二叉树维护一组数组,保证根节点是最大的/最小的


#coding quality

能分开做的事情,不要叠在一起做。

写代码不是说能一行写完的代码不写两行,而是如何写代码可以逻辑更清晰,便于解读。比如说图的拷贝当中,最好不要同时拷贝点和边。


#拓扑排序的作用

检测是否有循环依赖,比如import A; import B 如何A依赖B,B 也依赖A,那么这就是不合理的。

找到一种顺序,并按照这个顺序做事情是合理的。 


#如何写递归?

递归要想清楚两件事:递归要干什么事情?什么时候return?

#subsets,组合类的问题。 回溯算法|递归实现, (隐式图)

本解法采用回溯算法实现,回溯算法的基本形式是“递归+循环”,正因为循环中嵌套着递归,递归中包含循环,这才使得回溯比一般的递归和单纯的循环更难理解,其实我们熟悉了它的基本形式,就会觉得这样的算法难度也不是很大。原数组中的每个元素有两种状态:存在和不存在。

① 外层循环逐一往中间集合 temp 中加入元素 nums[i],使这个元素处于存在状态

② 开始递归,递归中携带加入新元素的 temp,并且下一次循环的起始是 i 元素的下一个,因而递归中更新 i 值为 i + 1

③ 将这个从中间集合 temp 中移除,使该元素处于不存在状态

运算过程


代码注意的细节

result.add(new ArrayList<Integer>(subset));// 深度拷贝,因为subset在下面有remove和add操作


#深度优先搜索   找所有的方案,比如subset,permutation,一定是一个搜索题----深度优先搜索的题,不是宽度优先搜索。

时间复杂度:方案总数*构造一个方案的时间复杂度。比如:permutation的时间复杂度O(N!*N)  ,subsets的时间复杂度为O(2^N*N)

#宽度优先搜索   深复制图;简单图的最短路径(什么是简单图: 一个结点有且仅有一条边,且权重为1) ,从一个状态变化到另一个状态,需要一步一步变化的。如word ladder


#insert interval 插入区间,

1、一个是插入什么数,还是一个是在哪里插入。

2、区间可能是在哪个位置,可能在前面(insertpostion++),后能在后面,可能是在中间(merge interval)。


#validate BST

  BST 是二叉查找树,不是平衡二叉查找树,验证的时候只要保证保证做左子树的最大值比根节点小,右子树的最小值比根节点大。


#矩阵的dfs,关于连通图

参照链接http://www.cnblogs.com/grandyang/p/6686983.html?utm_source=itdadao&utm_medium=referral


#如果将'2'转换成2,直接 '2' - '0'就可以得到。

《算法笔记》pdf版,欢迎下载学习~ 各位是否还在因为CSP分数不够高而忧愁吗,《算法笔记》将会帮助你渡过CSP难关,保底200+,上限500! 立即下载

相关推荐

【Android14 ShellTransitions】Transition就绪:双Transaction与SurfaceControl显示时机剖析

本文深入剖析了Android14 ShellTransitions框架中Transition就绪阶段的核心机制。重点解释了为何需要“双Transaction”来精确控制SurfaceControl的显示与隐藏时机,以确保Activity切换动画的流畅性。通过分析onTransactionReady流程、窗口绘制状态机及动画目标提升策略,揭示了系统如何协调WMCore与WMShell,实现从状态收集到动画播放的无缝衔接。

ooo22的博客 530

算法笔记-胡凡-两本完整PDF

算法笔记-胡凡-两本完整PDF

Eli_Code 1万+

封神台靶场,为了小芳,冲之——cookie注入

第二个靶场 打开网站 找一下注入点 一般在新闻这种里面点开看看 先判断是否存在注入 有waf 尝试了很多方法绕过都没成功,/and/,aandnd,AnD等一系列都没绕过去,乌鸡鲅鱼 删掉id=169 发现 然后判断cookie注入 在搜索框输入 Javascript:alert(document.cookie=”id=”+escape(‘169’)); 然后弹窗了(其中 “id=” 取决URL中的id= escape中的数值也是URL中id=的值)返回刚刚的页面,把ID删除后一样能正常显示。说明服务器能

Wubuqing的博客 656

《算法笔记》总结及练习

题目描述 编写一个C程序,要求在屏幕上输出一下一行信息。 This is my first c program! 输入 无 输出 This is my first c program! 样例输入Copy 无 样例输出Copy This is my first c program! #include <stdio.h> int main() { char words[30] = "This is my first c program!"; ...

FWJ的博客 2077

STM32开发实战:从嵌入式系统到硬件控制 | 你必须得会

🏆本文收录于「编程与技术实战」专栏,此专栏涵盖了C/C++编程、人工智能、数据结构、机器学习等技术领域的内容,助你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 1046

基于单片机自行车码表控制系统设计

*单片机设计介绍,基于单片机自行车码表控制系统设计。

QQ2193276455的博客 1488

算法笔记(一)(教你系统学习基础算法)

(一)基础算法 目录 (一)基础算法 1、快速排序 例题1:第k个数 2、归并排序 例题一:逆序对的数量 3、二分 例题一:数的范围 例题二:数的三次方根 4、前缀和与差分 例题一:前缀和 例题二:子矩阵和 例题三:差分 例题四:差分矩阵 5、双指针算法 例题一:最长连续不重复子序列 例题二:数组元素的目标和 例题三:判断子序列 6、位运算 例题一:二进制中一的个数 7、离散化 例题一:区间和 8、区间合并 例题一:区间合并 1、快速排序...

qq_59539549的博客 2187

TenserRt平台SMOKE 3D目标检测部署完整教程:从理论到实践

本教程详细介绍了在RK3588平台上部署SMOKE 3D目标检测模型的完整流程。SMOKE是一种创新的单阶段单目3D检测方法,通过关键点估计直接预测3D目标信息,有效解决了深度信息缺失等挑战。文章从理论基础出发,解析了SMOKE的核心算法和网络架构,包括DLA-34主干网络和关键点中心化策略。同时提供了详细的Docker环境配置、模型导出到ONNX格式的实践指南,以及TensorRT引擎构建和性能优化的关键技术要点。该教程为开发者在嵌入式平台上实现高效3D目标检测提供了完整的技术参考。

LXY_LOVE36的博客 372

算法笔记(持续更新)

算法笔记、数据结构、c、c++

qq_45857546的博客 431

Linux驱动学习--HCI框架及源码分析

目录 一、引言 二、HCI框架 三、pcm_read简要分析 一、引言 最近一直在分析蓝牙驱动,发现在底层驱动与上层协议栈间还有一层HCI,主机控制层,两者之间通过HCI协议通讯 而Linux也将HCI协议抽象层了一个框架。 为上层提供一个统一的接口,让上层协议不依赖于具体硬件的实现。HCI在硬件中的固件与HCI在主机端的驱动通信方式有多种,比如像 UART、USB和PC Card等等。hci_core.c相当于一个框架,用于把各种具体通信方式绞合起来,并提供一些公共函数的实现。 今天就来简单的分析一下 二

文艺小少年的博客 2003

JavaFx 教程

JavaFx 教程

2012年开始工作,全栈开发老兵,目前已是一个老师,分享这么多年的心得体会 784

算法基础笔记

注:笔记主要讲解从0入门的算法分析,帮助读者更好理解算法的逻辑并且分析算法。

Sakurs的博客 616

CAPL学习之路-关键字

在capl中,关键字具有特殊的含义和用途,因此,不得将关键字用作变量或函数的名称 声明数据类型的关键字 可以用不同的关键字,声明或引用不同类型的数据 byte 声明一个字节的变量 word 声明两个字节的变量 dword 声明四个字节的变量 int 声明两个字节的整数 long 声明四个字节的变量 qword 声明八个字节的变量 char 声明一个字符串 float 声明一个浮点数,8个字节 double 声明一个浮点数,8个字节 定义一个结构体或枚举类型 struct struct Data { .

jasonj333 6109

《算法笔记》的codeup打不开怎么办

今天开始学习《算法笔记》,本想用书中的codeup练练手,结果链接一直打不开,在网上找了很久才找到新的链接。

m0_46491493的博客 5689

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

《算法笔记》与《算法笔记上机训练实战指南》:助你掌握算法与数据结构的利器

《算法笔记》与《算法笔记上机训练实战指南》:助你掌握算法与数据结构的利器 【下载地址】算法笔记-胡凡-两本完整PDF 本资源提供《算法笔记》及其配套的《算法笔记上机训练实战指南》的完整PDF版本。这两本书由胡凡编写,旨在帮助读者深入理解算法和数据结构,并通过实际编程练习提升应用能力 ...

gitblog_06505的博客 462

visio安装包

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

《算法笔记》的一些错误

《算法笔记》的一些错误 本人研读了晴神的《算法笔记》一书,发现有些错误在勘误中没有指出来,所以在这里列举一下(当然有的可能就是印刷错误) 1、261页上面,应该是node[11111].next=22222;node[22222].next=33333; node[33333].next=-1; 2、264页中间有一段: while(p=-1){ XXX=1; //XXX改成node[i].XXX=1 count++; p=node[p]->next; } 3

wordnice2003的博客 486

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

算法笔记 03 —— 算法初步(上)

本系列为胡凡编著的算法笔记当中代码部分的精简版整理,笔者也在同时准备Leetcode刷题和实习面试,希望为有一定编码和数据结构基础的同学提供一份系统型的参考,以方便遗忘时的算法查阅、期末复习总览以及C++学习参照。

Celeste的博客 1107

算法课读书笔记

算法读书笔记 以下是正文

qq_45549746的博客 172

算法自学笔记:总序

本项目包含了我在自学算法过程中整理的笔记。这些笔记记录了我对常见算法和数据结构的理解、思考过程以及相关的学习资源。目的是帮助自己总结学习成果,同时为他人提供参考和启发。

linmohan0814的博客 885

【免费下载】 算法笔记-胡凡-两本完整PDF

算法笔记-胡凡-两本完整PDF 【下载地址】算法笔记-胡凡-两本完整PDF 本资源提供《算法笔记》及其配套的《算法笔记上机训练实战指南》的完整PDF版本。这两本书由胡凡编写,旨在帮助读者深入理解算法和数据结构,并通过实际编程练习提升应用能力 ...

gitblog_06544的博客 3432

【粉丝福利社】算法竞赛入门笔记

算法是计算机科学的核心,也是构建数字世界的基石。在众多计算机相关赛事中,算法竞赛以其高含金量和挑战性著称,例如中学生的NOI信息学竞赛、大学生的ICPC/CCPC赛事以及蓝桥杯大赛、天梯赛等。特别是对于大学生来说,拥有算法竞赛的经历和奖项不仅能够显著提升个人简历的质量,还能为未来的职业发展奠定坚实的基础。进入大学之前,我没有任何编程经验。经过近两年的努力,我有幸在算法竞赛中取得了不错的成绩,并在退役后帮助许多同学一起学习并获奖。在这个过程中,我积累了大量关于算法和数据结构的学习心得。

愚公智库 13万+

算法通关笔记 启航!

本专栏是以Acwing 算法基础课和算法提高课的内容为导向的算法知识讲解,站在算法小白的角度对算法的本质进行剖析,带你早日拿下算法这做大山!

只想和你一起进步 918

读书笔记——labuladong算法笔记

所以在写二分算法的时候要先想清楚是要用闭区间还是开区间,另外要明白“中点”这个概念是一个开区间的边界,因为在每次判断必然会判断这个点,因此如果你要用开区间,那么这个点可以直接使用,否则就需要跳过该点。双指针比较灵活,需要注意的就是你可以设计双指针的迭代方式,可以是快慢指针,也可以从起点像两边扩展的指针(对于回文子串有效)。另外,回溯算法和动态规划算法不一样的一点就是,回溯算法没有重叠子问题,没有办法通过字典来进行优化,就是纯的暴力搜索。2、连接:将一个域的父节点的父节点指向另外一个域的父节点;

Dr_Jack的博客 1853

KMP算法笔记

KMP算法笔记整理

weixin_45887823的博客 156

算法笔记学习笔记1

算法笔记学习笔记函数之前的代码 因为研究生考试需要csp成绩,所以买了一本算法笔记学习,准备把每天写的代码和注意的知识点记录下来 函数之前的代码 链接:https://pan.baidu.com/s/1kJCQj7tQXq1U-N3qu_gNIQ 提取码:1234 复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V1的分享 这是写这篇文章之前写的代码,是算法笔记对应的codeup平台上所有的练习题,欢迎取用 ...

qq_21137705的博客 298

读书笔记——《漫画算法:小灰的算法之旅》

最近入手一本好书,如标题所示,作者叫魏梦舒,提到这个名字可能大家都会感到陌生,但如果你关注算法类的微信公众号,那肯定知道@程序员小灰了,我是大概半年前一个很偶然的机会关注小灰的,是在@码农翻身这位大佬的文章推送中看到的,感觉很有意思,虽然我不是个漫画迷,但通过这种方式来学习晦涩高深的算法是很有意思的,毕竟要快乐学习嘛~~ 大概说下这本书吧,整体分为三大块:算法及数据结构基础、职场面试中的流行算法...

想不出一个好的标题,就用这个吧 9810
上一篇: 算法规律 rotate String
下一篇: 二叉树相关的算法题
kotomi_du
博客等级 码龄10年 5粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值