自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (1)
  • 问答 (11)
  • 收藏
  • 关注

原创 【AI大模型专栏学习笔记02 NLP高级任务】什么?!AI还能帮我们做这些事!

Embedding 向量适合作为一个中间结果,用于传统的机器学习场景,比如分类、聚类。Completion 接口,一方面可以直接拿来作为一个聊天机器人,另一方面,只要善用提示词,就能完成合理的文案撰写、文本摘要、机器翻译等工作。并不是所有时候都能很快找到合适的数据集。这时也可以利用 AI 生成一些数据。然后将这些数据加载到一个 DataFrame 里。输出结果:这里每一行都带上了一个标号,我们需要简单处理一下,去掉这个标号拿到一些干净的数据。输出结果:类似的,再生成一些女装的商品名称,覆盖不同的

2024-04-01 16:47:39 423 1

原创 【AI大模型专栏学习笔记01 基础知识】大火的AI大模型究竟是什么?原来这么容易上手!

情感分析”问题,是指我们根据一段文字,去判断它的态度是正面的还是负面的。在传统的互联网产品里,经常会被用来分析用户对产品、服务的评价。比如大众点评里面,你对餐馆的评论,在京东买个东西,你对商品的评论,都会被平台拿去分析,给商家或者餐馆的评分做参考。也有些品牌,会专门抓取社交网络里用户对自己产品的评价,来进行情感分析,判断消费者对自己的产品评价是正面还是负面的,并且会根据这些评价来改进自己的产品。对于“情感分析”类型的问题,传统的解决方案就是把它当成是一个分类问题。

2024-03-14 10:59:59 1134 1

原创 【从0开始学架构笔记】02 高性能架构模式

由于旧的缓存已经被清除,新的缓存还未生成,并且处理这些请求的线程都不知道另外有一个线程正在生成缓存,因此所有的请求都会去重新生成缓存,都会去访问存储系统,从而对存储系统造成巨大的性能压力。原因在于单表切分为多表后,新的表即使在同一个数据库服务器中,也可能带来可观的性能提升,如果性能能够满足业务要求,是可以不拆分到多台数据库服务器的,毕竟我们在上面业务分库的内容看到业务分库也会引入很多复杂性的问题;全文搜索引擎的索引对象是单词和文档,而关系数据库的索引对象是键和行,两者的术语差异很大,不能简单地等同起来。

2024-04-01 16:49:57 888

原创 【K8S学习笔记】

在2013年,虚拟机和云计算已经是比较普遍的技术和服务了,那时主流用户的普遍用法,就是租一批 AWS 或者 OpenStack 的虚拟机,然后像以前管理物理服务器那样,用脚本或者手工的方式在这些机器上部署应用,这就是Paas提供的“应用托管”的能力。Linux 下的 /proc 目录存储的是记录当前内核运行状态的一系列特殊文件,用户可以通过访问这些文件,查看系统以及当前正在运行的进程的信息,比如 CPU 使用情况、内存占用率等,这些文件也是 top 指令查看系统信息的主要数据来源。

2024-03-14 11:53:28 747

原创 Java里的Lambda表达式是什么样的?怎么和Stream结合?

Lambda表达式也被称为箭头函数匿名函数闭包。Lambda表达式体现的是轻量级函数式编程思想“->” 符号是Lambda表达式核心操作符号,符号左侧是操作参数,符号右侧是操作表达式JDK8新特性java.util.function提供了大量的函数式接口Predicate 接收参数T对象,返回一个boolean类型结果Consumer 接收参数T对象,没有返回值Function 接收参数T对象,返回R对象Supplier 不接受任何参数,直接通过get()获取指定类型的对象。

2024-02-23 15:19:56 723

原创 Go编程的一些最佳实践

这种编程模式在 Go 的标准库有很多的示例,最著名的就是 io.Read 和 ioutil.ReadAll 的玩法,其中 io.Read 是一个接口,你需要实现它的一个 Read(p []byte) (n int, err error) 接口方法,只要满足这个规则,就可以被 ioutil.ReadAll这个方法所使用。但是,这种方式最大的问题是,Undo 操作其实是一种控制逻辑,并不是业务逻辑,所以,在复用 Undo 这个功能时,是有问题的,因为其中加入了大量跟 IntSet 相关的业务逻辑。

2024-01-03 23:30:27 1090 2

原创 【LeetCode题目拓展】第207题 课程表 拓展(拓扑排序、Tarjan算法、Kosaraju算法)

初看这个拓展时,我的想法是在有向图里找环的方式来实现,比如找到整个有向图中包含节点数目最多的环,判断这个数目是否超过了该同学最多能同时上课的数量。对于第二个图,两个环共用了一个节点,此时只计算一个环的节点数并不能满足题目的需求。求解有向图中的强连通分量问题一般有两种算法,tarjan算法和kosaraju算法,此处不赘述两种算法的细节,感兴趣的可以自行搜索,此处只把各自解法列在下方。根据这种思路,我们需要求有向图中规模最大的连通分量的节点数,并且把它和学生最大同时上课数进行比较,就可以得到答案了。

2023-12-12 22:56:53 163 1

原创 【go学习笔记】Go errors 最佳实践

预定义的特定错误,我们叫为 sentinel error,这个名字来源于计算机编程中使用一个特定值来表示不可能进行进一步处理的做法。所以对于 Go,我们使用特定的值来表示错误。类似的 io.EOF,更底层的 syscall.ENOENT。使用 sentinel 值是最不灵活的错误处理策略,因为调用方必须使用 == 将结果与预先声明的值进行比较。当您想要提供更多的上下文时,这就出现了一个问题,因为返回一个不同的错误将破坏相等性检查。

2023-10-15 20:26:49 544

原创 【Linux编程Shell自动化脚本】04 其他实用的Shell命令

与其他文件传输工具(如 FTP 或 scp)不同,rsync 的最大特点是会检查发送方和接收方已有的文件,仅传输有变动的部分(默认规则是文件大小或修改时间有变动)。当没有&时,1会被认为是一个普通的文件,有&表示重定向的目标不是一个文件,而是一个文件描述符。使用该参数后,传输到一半的文件也会同步到目标目录,下次同步时再恢复中断的传输。free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。rsync 是一个常用的 Linux 应用程序,用于文件同步。

2023-09-11 22:41:10 296

原创 【Linux编程Shell自动化脚本】03 shell四剑客(find、sed、grep、awk)

这里的匹配规则,和 sed 命令中的 address 部分作用相同,用来指定脚本命令可以作用到文本内容中的具体行,可以使用字符串(比如 /demo/,表示查看含有 demo 字符串的行)或者正则表达式指定。但 sed 命令不同,它采用的是流编辑模式,最明显的特点是,在 sed 处理数据之前,需要预先提供一组规则,sed 会按照此规则来编辑数据。反之,则不对行做任何处理。正数表示在指定的时间前修改或访问过的文件,负数表示在指定的时间内修改或访问过的文件,零表示在当前时间点上修改或访问过的文件。

2023-09-10 21:05:34 351

原创 【从0开始学架构笔记】01 基础架构

关联:系统是由一群有关联的个体组成的,没有关联的个体堆在一起不能成为一个系统。规则:系统内的个体需要按照指定的规则运作,而不是单个个体各自为政。规则规定了系统内个体分工和协作的方式。能力:系统能力与个体能力有本质的差别,系统能力不是个体能力之和,而是产生了新的能力。子系统的定义和系统定义是一样的,只是观察的角度有差异,一个系统可能是另外一个更大系统的子系统。软件架构指软件系统的顶层结构首先,“系统是一群关联个体组成”,这些“个体”可以是“子系统”“模块”“组件”等;架构需要明确系统包含哪些“个体”

2023-08-18 17:16:11 2709

原创 【go语言学习笔记】05 Go 语言实战

RESTful API 是一套规范,它可以规范如何对服务器上的资源进行操作。和 RESTful API 和密不可分的是 HTTP Method。RPC,也就是远程过程调用,是分布式系统中不同节点调用的方式(进程间通信),属于 C/S 模式。RPC 由客户端发起,调用服务端的方法进行通信,然后服务端把结果返回给客户端。通信协议和序列化。在 HTTP 2 之前,一般采用自定义 TCP 协议的方式进行通信,HTTP 2 出来后,也有采用该协议的,比如流行的gRPC。序列化和反序列化。

2023-08-14 21:47:57 626

原创 【go语言学习笔记】04 Go 语言工程管理

顾名思义,单元测试强调的是对单元进行测试。在开发中,一个单元可以是一个函数、一个模块等。一般情况下,要测试的单元应该是一个完整的最小单元,比如 Go 语言的函数。单元测试由开发者自己编写,也就是谁改动了代码,谁就要编写相应的单元测试代码以验证本次改动的正确性。基准测试(Benchmark)是一项用于测量和评估软件性能指标的方法,主要用于评估代码的性能。代码规范检查,顾名思义,是从 Go 语言层面出发,依据 Go 语言的规范对代码进行的静态扫描检查,这种检查和业务无关。

2023-08-10 21:43:01 522

原创 【go语言学习笔记】03 Go 语言深入理解

在 Go 语言中,获取一个变量的指针非常容易,使用取地址符 & 就可以name := "小明" nameP := & name //取地址 fmt . Println("name变量的值为:" , name) fmt . Println("name变量的内存地址为:" , nameP) }指针类型非常廉价,只占用 4 个或者 8 个字节的内存大小。在 Go 语言中使用类型名称前加 * 的方式,即可表示一个对应的指针类型。

2023-08-01 09:24:46 198

原创 【go语言学习笔记】02 Go语言高效并发

Context 是一个接口,它具备手动、定时、超时发出取消信号、传值等功能,主要用于控制多个协程之间的协作,尤其是取消操作。一旦取消指令下达,那么被 Context 跟踪的这些协程都会收到取消信号,就可以做清理和退出操作。} }Deadline 方法可以获取设置的截止时间,第一个返回值 deadline 是截止时间,到了这个时间点,Context 会自动发起取消请求,第二个返回值 ok 代表是否设置了截止时间。Done 方法返回一个只读的 channel,类型为 struct{}。

2023-07-25 19:32:47 238

原创 【go语言学习笔记】01 Go语言快速入门

常量的定义和变量类似,只不过它的关键字是 const。因为 Go 语言可以类型推导,所以在常量声明时也可以省略类型。在 Go 语言中,只允许布尔型、字符串、数字类型这些基础类型作为常量。//基于数组生成切片,包含索引start,但是不包含索引end slice := array [ start : end ]在数组 array 中,元素 c 的索引其实是 2,但是对数组切片后,在新生成的切片 slice 中,它的索引是 0,这就是切片。

2023-07-21 15:40:26 279

原创 【Linux编程Shell自动化脚本】02 循环语句、选择语句与函数

例如$fname=/etc/hosts,则此表达式返回hosts,如果$fname=filename,则此表达式’|‘的左边为空,所以返回’|'右边的值,即$fname,即返回filename。正确的应该是:如果第一个参数非0,则返回第一个参数的值,否则返回第二个参数。如果第一个参数非空且非0,则返回第一个参数的值,否则返回第二个参数的值,但要求第二个参数的值也是非空或非0,否则返回0。如果匹配成功,且REGEX使用了’(‘和’)‘,则此表达式返回匹配到的,如果未使用’(‘和’)',则返回匹配的字符数。

2023-06-20 17:37:34 519

原创 【Linux编程Shell自动化脚本】01 Shell 变量、条件语句及常用概念操作等详解

Shell是操作系统的最外层,Shell可以合并编程语言以控制进程和文件,以及启动和控制其它程序。shell 通过提示您输入,向操作系统解释该输入,然后处理来自操作系统的任何结果输出来管理您与操作系统之间的交互。简单来说Shell就是一个用户跟操作系统之间的一个命令解释器。Shell是用户与Linux操作系统之间沟通的桥梁。用户可以输入命令执行,又可以利用 Shell脚本编程去运行。

2023-04-24 18:05:10 867

原创 Python递归获取给定目录下的所有文件的文件名

实现代码:import osdef get_filename(path, allfile, dict_filetype=None): '''递归获得所有符合条件的文件名 @param : path 起始目录,要检查的根目录 @param : allfile 传入的初始文件名列表,填空即可 @param : dict_filetype 要检查的文件类型,为None时则不检查返回所有。默认为None @return: 列表 所有与 dict_file

2021-10-21 20:30:25 735

原创 Python中的赋值、浅拷贝和深拷贝的区别

文章目录一、变量、可变对象与不可变对象一、变量、可变对象与不可变对象变量指向一个对象,而对象有可变与不可变之分>>> a = "HELLO">>> id(a)140182492168632>>> a = "hello">>> id(a)140182492168688>>> a = ["hello_1", "hello_2"]>>> id(a)140182492190088&gt

2021-10-21 17:35:02 139

原创 HashMap源码剖析——三大重点(容量为2次幂的原因,hash值的计算方法以及扩容过程详解)

文章目录一、图解数据结构1. 基础数据结构2. HashMap二、源码分析1. HashMap的创建以及扩容2. 节点的插入、查询与删除3. 如何提高散列以及冲突的解决方法4. 序列化与反序列化一、图解数据结构1. 基础数据结构(1)数组数组的本质就是一块连续的内存,存放着具有共同特性的内容。可以通过数组的下标,快速定位和操作数组元素。但它的插入和删除操作十分不便,需要移动插入或删除位置后面的所有元素。优点:连续的内存,通过下标可以快速寻址;缺点:插入删除节点困难;(2)单链表单链表

2021-05-23 14:10:41 350 1

原创 Java基本数据类型转换时的一些小坑——自动类型转换、强制类型转换

文章目录一、Java的基本数据类型(4类8种)1. 四大类2. 八种类型二、两个经典的数据类型转换例子(经典面试题)1. +=运算符的数据类型转换2. 常量与变量的数据类型转换写Java算是很久了,正好最近重新捡起Java的基本知识看看发现很多东西竟然都要忘掉了,特意记录一下吧。一、Java的基本数据类型(4类8种)1. 四大类(1)整型:byte、short、int(默认)、long(2)浮点型:float、double(默认)(3)字符型:char(4)布尔型:boolean2. 八种类

2021-05-17 17:18:33 249

原创 Python中的函数式编程——编程范式、一等对象、lambda表达式(详解)

文章目录1. 编程范式(此处主要介绍命令式和函数式编程)1.1 概述1.2 命令式编程1.3 函数式编程1.3.1 函数式编程的本质1.3.2 函数式编程的优点与不足1.3.3 函数式编程总结2. 一等对象3. 高阶函数3.1 map函数3.2 filter函数3.3 reduce函数3.4 sorted函数3.5 partial函数4. 匿名函数4.1 语句(Statement)和表达式(Expression)4.2 lambda表达式5. 入门小坑——惰性计算*1. 编程范式(此处主要介绍命令式和函数

2021-03-13 16:44:35 440 2

原创 一些实用的Linux系统信息命令

文章目录1. 查看当前Linux系统的物理CPU个数和逻辑CPU的个数2. 使用top查看各进程信息时,各列分别表示什么含义?3. 如何查看当前系统都有哪些进程?4. iptables配置访问IP及端口命令4.1 iptables的常用命令(COMMAND)含义4.2 iptables的参数(PARAMETER)含义4.3 命令示例:拒绝来源IP为192.168.1.101对本机80端口的访问包5. dmesg命令1. 查看当前Linux系统的物理CPU个数和逻辑CPU的个数# 查看物理CPU个数ca

2021-03-13 16:22:28 335

原创 直接使用for循环删除ArrayList的元素有什么影响?

许久都未写技术文章了,实在是有些怠惰了,自觉惭愧啊。在Java中使用for循环直接删除ArrayList中的特定元素是错的,不同的for循环方式会发生不同的错误,比如泛型的for会抛出ConcurrentModificationException,而普通的for想要删除集合中重复且连续的元素则只能删除第一个。错误原因:我们打开JDK的ArrayList源码,看一下ArrayList中的remove方法是如何实现的(注意ArrayList中的remove有两个同名方法,只是入参不同,这里我们看的是入参

2020-12-13 23:48:57 920 1

原创 如何写出一段死锁的代码

突然想到写一段死锁的代码,虽然死锁的原因和条件都很清楚,但是还没真正自己写出过一段死锁的代码。先复习一下产生死锁的原因和四个必要条件。产生死锁的原因系统资源不足进程运行顺序不合理系统资源分配不当产生死锁的四个必要条件互斥条件:一个资源每次只能被一个进程使用。请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。这四个条件是死锁的必要条件,只要系

2020-10-08 21:20:33 599

原创 Java类中的静态与普通初始代码块、构造方法等的初始化顺序

先说结论,初始化顺序如下:基类静态代码块,基类静态成员字段(并列优先级,按照代码中出现的先后顺序执行,且只有第一次加载时执行);派生类静态代码块,派生类静态成员字段(并列优先级,按照代码中出现的先后顺序执行,且只有第一次加载时执行);基类普通代码块,基类普通成员字段(并列优先级,按代码中出现先后顺序执行);基类构造函数;派生类普通代码块,派生类普通成员字段(并列优先级,按代码中出现先后顺序执行);派生类构造函数。代码示例如下:(1)派生类和基类代码class Log { pub

2020-09-30 23:13:05 220

原创 C++程序中的extern“C”到底是干什么的

文章目录一、extern关键字的基本解释1. C中的extern用法2. C++中的extern用法3. extern关键字的一般用法二、extern "C"的一般用法1. C++引用C语言中的函数或变量2. C引用C++语言中的函数或变量一、extern关键字的基本解释首先,extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。因此,将extern关键字置于变量或函数前,可以使得它们能够被跨文件访问。然而需要注

2020-09-28 16:44:42 918

原创 LeetCode 773 LintCode 941 滑动谜题 八数码问题 单向bfs+双向bfs+A*算法+IDA*算法解法汇总

文章目录@[toc]一、 细节说明二、 具体解法1. bfs法1.1 单向bfs(1)hash法(2)康托展开1.2 双向bfs(1)hash法(2)康托展开2. A*算法2.1 使用位置不同块数作为估计函数(1)hash法(2)康托展开2.2 使用曼哈顿距离作为估计函数(1)hash法(2)康托展开3. IDA*算法3.1 使用位置不同块数作为估计函数3.2 使用曼哈顿距离作为估计函数自己实现的LeetCode相关题解代码库:https://github.com/Yuri0314/Leetcode自

2020-09-14 19:11:42 699

原创 经典回溯问题:骑士游历问题

题目描述在一个N*N 格子的棋盘上,有一只国际象棋的骑士在棋盘的左下角,骑士只能根据象棋的规则进行移动,要么横向跳动一格纵向跳动两格,要么纵向跳动一格横向跳动两格。骑士从第一个格子出发,每个格子只能访问一次,能否访问完所有的格子, 请找到一个解决方案。题目分析这是一道经典的回溯算法题目,这里的状态就是每一步骑士所在的坐标位置。因为骑士可以跳动的位置总共就有8个位置,所以可以提前定义出跳动的距离数组。每一步只需要将骑士往所有方向上尝试跳动即可。/** * 问题描述:在一个N*N 格子的棋盘上,有一

2020-09-07 11:50:05 3917

原创 LeetCode 94 144 145 LintCode 66 67 1783 二叉树的前中后序遍历所有解法总结(史上最全分类总结)

文章目录@[toc]1. 简单说明2. 解法分析2.1 递归法2.2 非递归法2.2.1 一般迭代法2.2.1.1 中序遍历2.2.1.2 前序遍历2.2.1.3 后序遍历2.2.2 统一模板法2.2.2.1 设置结点访问标志2.2.2.2 null值区分2.2.3 Morris遍历法2.2.3.1 中序遍历2.2.3.2 前序遍历2.2.3.3 后序遍历2.2.3.3.1 前序遍历反向2.2.3.3.2 链表逆序打印自己实现的LeetCode相关题解代码库:https://github.com/Yuri

2020-08-11 23:08:00 340 1

原创 Leetcode 155 Min Stack 最小栈 解法分析及相关题目衍生获取队列最大值

文章目录@[toc]题目要求解法分析辅助栈法链表定义法相关题目——O(1)时间获取队列最大值自己实现的LeetCode相关题解代码库:https://github.com/Yuri0314/Leetcode题目要求设计一个支持push ,pop,top操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。示例:输入:["MinStack","

2020-08-06 21:56:38 160 1

原创 Leetcode 128 longest-consecutive-sequence 最长连续序列 Hash法及并查集解法

文章目录题目要求1. Hash法1(官方解法)2. Hash法2(累积长度)3. Hash法3(双向查找动态删除)4. 并查集法1(使用双Map模拟并查集)5. 并查集法2(双数组模拟并查集,Map记录数值到数组索引的映射)总结题目要求给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。示例:输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。看到这道题我首先的思路是对数组先进行排

2020-08-06 20:40:19 185

原创 从链表到跳表——跳表是什么?

跳表是一个面试和笔试中虽然不会考到,但会经常被提到的一个数据结构,其最典型的应用就是在Redis中。那么跳表是怎么提出的呢,它又解决了什么问题呢?本文试图从数组到链表再到跳表,分析现有数据结构的局限性,从而引出跳表的定义,并对跳表进行了一个全面的基本介绍

2020-06-10 17:41:34 968

原创 PTA 1018 Public Bike Management PAT甲级真题

PTA(拼题A)平台 1018 Public Bike Management PAT甲级真题 Dijkstra算法 DFS深度优先遍历 图的最短路径问题

2020-05-12 16:30:29 279

原创 PTA 1131 Subway Map PAT甲级真题 BFS求解

PAT甲级真题 1131 Subway Map 使用图的邻接表表示法存储 使用BFS广度优先遍历求解

2020-05-10 16:33:31 287

原创 PTA 1087 All Roads Lead to Rome PAT甲级真题 题目解析

PTA-mooc完整题目解析及AC代码库:PTA(拼题A)-浙江大学中国大学mooc数据结构全AC代码与题目解析(C语言)其实题目倒是不难,思路也很简单,但是为了练习各种数据结构,我没有使用stl,而是自己从头定义了无向图的邻接表、堆以及哈希表结构,所以代码相对较长。Indeed there are many different tourist routes from our city to Rome. You are supposed to find your clients the route w

2020-05-09 15:11:08 583

原创 PTA 1072 Gas Station PAT甲级真题 题目详解 PTA和牛客网两平台测试点不通过分析解决

PTA-mooc完整题目解析及AC代码库:PTA(拼题A)-浙江大学中国大学mooc数据结构全AC代码与题目解析(C语言)这道题花了我好长时间来找错,本身思路倒是不难,但是输入数据实在是太过于恶心。这道题在PTA和牛客网上都有对应题目,两个平台上的测试点不完全相同,所以有可能在牛客网上能通过的代码在PTA上过不了,反之也有可能。我这里总结了两个平台上不通过常见的几个关键点,也对为何不能通过测试...

2020-05-08 00:58:09 1141 1

原创 PTA 1003 Emergency PAT甲级真题 题目解析

PTA-mooc完整题目解析及AC代码库:PTA(拼题A)-浙江大学中国大学mooc数据结构全AC代码与题目解析(C语言)之前一直没做图这章的附加编程题,现在把整个课程学完之后再重新回来补上吧。不过好像这一章的几乎都是最短路的问题,挑几个写写题解好了。As an emergency rescue team leader of a city, you are given a special m...

2020-05-07 14:16:52 301

原创 PTA 11-散列4 Hashing - Hard Version 解法详述

PTA-mooc完整题目解析及AC代码库:PTA(拼题A)-浙江大学中国大学mooc数据结构全AC代码与题目解析(C语言)虽然课程后面专门给出了一节用来讲解这道题,但是我在做这道题的时候觉得老师的思路非常巧妙,具体实现上也有很多优化的方法,所有在这里给出了具体的解法分析详细说明Given a hash table of size N, we can define a hash functio...

2020-05-03 13:57:07 923 1

C++程序设计原理与实践随书参考资料

包括实例源码、PPT、勘误、工具、词汇表等等

2016-11-18

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除