回溯算法详解 回溯问题概述注:本文仅为个人学习笔记,无任何版权。 注2: dfs与回溯之间并不是并列的关系,dfs是一种深度优先的遍历方法,而回溯是一种解决问题的手段。dfs可以有回溯,回溯也可以用dfs。 什么是回溯算法?回溯法也可以叫做回溯搜索法,是一种搜索的方式。回溯是递归的副产品,有递归就会有回溯。 回溯法的效率回溯法的性能如何呢?实际上不是什么高效的算法。因为本质是穷举。如果想要回溯法高效,可以增加一 2022-04-07 Programming
Depth First Search 深度优先搜索 注:本文仅为个人学习笔记,无任何版权。 深度优先算法(DFS, Depth first search),是搜索算法的一种。 基本思想:沿着树的深度来遍历树的节点,尽可能深的搜索树的分支。当节点v的所有边都已被探寻过,搜索讲回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个过程反复进行直到所有 2022-04-07 Programming
Scanner & BufferedReader 用法详解 Scanner & BufferedReader用法详解注:本文仅为个人学习笔记,无任何版权。 这段时间一直没把java的输入写明白,在该记事里进行一个总结 ScannerScanner使用分隔符模式将其输入分解为标记,默认情况下是利用空白进行分割的。之后可以使用不同的next方法将得到的标记转换为不同类型的值。 Scanner位于java.util包中,Scanner的具体用法为 123 2022-04-06 Programming
链表 链表题型刷题总结注:本文仅为个人学习笔记,无任何版权。 什么是链表?一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域,一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null 链表的头节点为head 链表的类型: 单链表 双链表 循环链表 链表在内存中的储存方式与数组不同,链表在内存中不是连续分布。 链表是通过指针域的指针链接在内存的各个节点,所以链表中的 2022-04-04 Programming
数组 数组题型刷题总结注:本文仅为个人学习笔记,无任何版权。 数组:存放在连续空间的相同类型元素的集合,一般不进行删除操作。 两点注意; 数组下标都是从0开始 数组内存空间地址连续(增添删除都很麻烦) 二维数组在系统中的存储方式 m*n的二维数组来说,一般由一个头节点指向一个长为n的一维列数组,每个列数组又作为另一个长为m的一维行数组的头节点。 并不是连续地址空间 一般看到链表/子串/数组之类的题, 2022-04-02 Programming
OnJava8-File The Way to Input/Output File by Java注:本文仅为个人学习笔记,无任何版权。 打开并读取文件对于大多数编程语言来说是非常实用的。Java8与java7新增的java.nio.file包以及streams与文件结合使得文件操作编程变得十分简单。 对于文件操作来说,最基本的两个组件是 文件或者目录的路径; 文件本身。 文件和目录路径一个Path对象表示一个文件或者 2022-03-31 Programming
TCP/IP, UDP and Socket 注:本文仅为个人学习笔记,无任何版权。 本篇旨在解决如下三个问题: 什么是TCP/IP、UDP? Socket是什么? 如何使用上述的服务? 让我们开始吧! 1. 什么是TCP/IP、UDP?TCP/IP(Transmission Control Protocol/ Internet Protocol)即传输控制协议/网间协议。是一个工业标准的protocol集,他是为广域网(WANs)设计的 2022-03-26 Project-Web
gototp: A TOTP Library Written by Go gototpA TOTP(Time Based One-Time Password, RFC6328) Library Written by Golang. The way to create this library Github of totp RFC6328 How to Get the Library1go get github.com/xiaogeamadeus/gototp 2022-03-16 Project-Go
Gogee-Day3-Trie木ルータ 注:本文仅为个人学习笔记,无任何版权。 本篇主要内容:1. 使用Trie树实现动态路由(dynamic route)解析。 支持两种模式:name和*filepath* Trie Tree Router之前,我们用了一个非常简单的map结构储存了路由表(router map),使用map存储键值对,索引非常高效,但是有一个弊端,键值对存储的方式只适用于静态路由. 如果我们想要支持/hello/:n 2022-03-14 Project-Go
RFC2617: HTTP Authentication HTTP Authentication: Basic and Digest Access Authentication在做课题的过程中需要了解RFC2617的知识,在此做一个中文总结。注:本文仅为个人学习笔记,无任何版权。 Basic Authentication Scheme基本认证方案(Basic Authentication Scheme)是基于这样的模型:客户必须用一个用户ID和一个密码来 2022-03-11 Project-Web