单链表1.什么是链表上图就是一个单链表的结构,链表由不同的节点连接在一起组成的,节点不仅包括值,还有指向下一个结点的指针(记住是指向下一个节点的指针,指针可以理解成下一个节点的引用,即内存地址,这样有了内存地址,我们知道了一个头节点就能找到整个链表),最后一个节点指向一个None。#使用python定义一个节点classListNode: def__ini__(self,val=0,next=None): self.val=val self.next=next在大多数情况下,使用头节点(第一个节点)来表示整个链表。例如,在上面的示例中,头节点是23。访问第3个节点的唯一方法是使用头节点中的
动态规划part17647.回文子串解题思路动态规划解法中心拓展法516.最长回文子序列解题思路动态规划总结篇647.回文子串动态规划解决的经典题目,如果没接触过的话,别硬想直接看题解。题目链接:647.回文子串文章/视频讲解:647.回文子串解题思路动态规划解法dp数组及其下标的含义布尔类型的dp[i][j]:表示区间范围[i,j](注意是左闭右闭)的子串是否是回文子串,如果是dp[i][j]为true,否则为false。确定递推公式在确定递推公式时,就要分析如下几种情况。整体上是两种,就是s[i]与s[j]相等,s[i]与s[j]不相等这两种。当s[i]与s[j]不相等,那没啥好说的了,d
水善利万物而不争,处众人之所恶,故几于道💦文章目录环境介绍实现1.初始化拉链表2.后续拉链表数据的更新总结彩蛋-想清空表的数据:转成内部表,清空数据后,再转成外部表,将分区目录删掉,然后再次跑脚本,其他表都没问题就拉链表新算出过期分区的数据拉不进去,这是啥原因?有高人指点一下吗?环境介绍 拉链表可以用来记录数据的声明周期,适合那种数据量大但新增和修改频率不是很高的场景。比如总共100万条数据,每天新增大约1万条,修改1万条,这种变化不是很大的维度数据可以用拉链表来存。 我们这里将拉链表中每日最新的数据放入到9999-12-31分区中,过期的数据放入到前一天的分区中。 比如,2024-01
python高级进阶全知识知识笔记总结完整教程(附代码资料)主要内容讲述:MyAwesomeBook,MyAwesomeBook。MyAwesomeBook,MySQL数据库。MyAwesomeBook,聚合函数。MyAwesomeBook,创建表并给某个字段添加数据。MyAwesomeBook,闭包。MyAwesomeBook,路由列表功能开发。MyAwesomeBook,logging日志。MyAwesomeBook,深拷贝和浅拷贝。MyAwesomeBook,压缩和解压缩命令。MyAwesomeBook,获取进程编号。MyAwesomeBook,死锁。MyAwesomeBook,案例-多
注:以下所有内容均为自己总结的笔记,涉及底层原理,难度对标18K-25K薪资,偏理论,不保证百分百准确性。索引查找快速的原理?创建索引的本质是排序,排好序之后再找数据就快了。对于B+tree索引,B+tree对数据排序后采用多路查找思想的非线性查找方案,减少了大量的查询次数,从而避免多次磁盘io,进而快速找到结果。为什么推荐用自增id做主键?自增id直观,且不用刻意维护这个字段,减少工作量,还能避免主键更新引起的页分裂。举例说明页分裂:数据是存在页上的,页1存储id为1、2、5的数据,如果没有设置自增,如果突然新增了id为3、4的数据,页1无剩余空间存储,就需要将页1数据进行拆分,页1存储id
认识微信小程序1.小程序简介微信(WeChat)是腾讯公司于2011年1月21日推出的一款为智能终端提供即时通信(InstantMessaging,IM)服务的应用程序。微信之父张小龙曾经解释:小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫(二维码)或者搜一下(关键词)即可打开应用。微信小程序体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。有了微信小程序,应用将无处不在,随时可用,且无须安装与卸载。小程序、订阅号、服务号、企业微信(企业号)属于微信公众平台的四大生态体系,它们面向不同的用户群体,应用于不同的方向和用途。小程序是微信的一种新的开
【个人总结】超详细Neo4j安装下载一、下载1.1Jdk下载1.2Neo4j下载:二、安装+配置2.1解压2.2配置三、启动Neo4j一、下载1.1Jdk下载下载neo4j之前,需要下载jdk,这里默认已经下载过jdk,,若未下载可参考之前文章:https://blog.csdn.net/junR_980218/article/details/1242279971.2Neo4j下载:官方链接:https://neo4j.com/download-center/#community也可从下面链接位置下载Neo4j的各个版本https://we-yun.com/doc/neo4j/我这里下载的是3
前言xml是可扩展标记语言,由一系列的元素、属性、值节点等构成的一个树形结构,除了可读性差一点,别的用于存储一些结构化的数据还是比较方便的。这个功能在Unity3d端的实现是比较方便快捷的:voidGetXML1(){stringfilePath=Application.streamingAssetsPath+"/xml1.xml";if(File.Exists(filePath)){XmlDocumentxmlDoc=newXmlDocument();xmlDoc.Load(filePath);XmlNodeListnodes=xmlDoc.SelectSingleNode("rootite
——算法、线性表——概念明晰:随机存取、顺序存取、随机存储和顺序存储随机存取、顺序存取、随机存储和顺序存储这四个概念是完全不一样的,切不可将之混淆很多人包括我可能认为随机存取就是随机存储,顺序存取就是顺序存取,其实不是这样。下面完整的介绍一下这4个概念1、存取结构分为随机存取和非随机存取(又称顺序存取)1、随机存取就是直接存取,可以通过下标直接访问的那种数据结构,与存储位置无关。例如数组。非随机存取就是顺序存取,不能通过下标访问了,只能按照存储顺序存取,与存储位置有关,例如链表。2、顺序存取就是存取第N个数据时,必须先访问前(N-1)个数据(list);随机存取就是存取第N个数据时,不需要
【寸铁的刷题笔记】图论、bfs、dfs大家好我是寸铁👊金三银四,图论基础结合bfs、dfs是必考的知识点✨快跟着寸铁刷起来!面试顺利上岸👋喜欢的小伙伴可以点点关注💝🌞详见如下专栏🌞🍀🍀🍀寸铁的刷题笔记🍀🍀🍀200.岛屿数量考点递归、dfs思路思路:遍历二维数组,遇到陆地则计数器加1然后,向该陆地上、下、左、右四个方向进行搜索。遇到边界则停止搜索,如果搜索到的网格为陆地,则说明该网格和遍历到的陆地连通。同时,把该搜索到的陆地'1',置为海洋'0'由于之前遍历二维数组时遇到陆地时计数器加1,由于连通,算作1个岛屿。这样就避免下次遍历二维数组时重复遍历陆地,导致岛屿数量多算了。代码classSolu