avatar
文章
491
标签
109
分类
29
首页
归档
分类
标签
关于
xhj的博客
首页
归档
分类
标签
关于

xhj的博客

图的基本结构以及BFS和DFS(递归和非递归)
发表于2022-01-29|Algorithm
图的基本结构以及BFS和DFS(递归和非递归) 完整的图结构 有向图建图以及BFS和DFS 无向图建图以及BFS和DFS DFS和BFS常见应用 完整的图结构 图的每个顶点包括顶点的值、入度、出度、和它相邻的点(或者在有向图中就是下一个可以到达的点)的集合、以及以它为起点出发的边的集合; 图的每条边包括边的权值、边的起点、边的终点; 一个图包括点的集合和边的集合; 综上可以得到如下的图结构: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 //点 (默认我是from的情况下) static class Node{ public int value; public int in; //入度 public int out; //出度 public ArrayList<Node>nexts;// 从我出发能到达的下一级结点,...
最长公共子序列LCS 和 最长公众子串
发表于2022-01-15|Algorithm
最长公共子序列LCS 和 最长公众子串 51Nod-1006-最长公共子序列LCS 最长公众子串 51Nod-1006-最长公共子序列LCS题目链接 http://www.51nod.com/Challenge/Problem.html#!#problemId=1006 题目就是输入两个字符串str1、str2,输出任意一个最长公共子序列。 解析dp[i][j]代表的是 : 必须以str1[i]、str2[j]结尾的最长公共子序列,dp[i][j]来源: 可能是dp[i-1][j],代表str1[0~i-1]与str2[0~j]的最长公共子序列。 可能是dp[i][j-1],代表str1[0~i]与str2[0~j-1]的最长公共子序列。 如果str1[i] == str2[j],还可能是dp[i-1][j-1] + 1。 这三种情况中取最大值。 构造结果的过程(利用dp数组即可) 从矩阵的右下角开始,有三种移动方式: 向上、向左、向左上。 如果dp[i][j] > dp[i-1][j] && dp[i][j] > dp[i][j-1],...
各种排序算法总结(全面)
发表于2021-12-29|Algorithm
各种排序算法总结(全面) 概括 冒泡排序 改进的冒泡排序-鸡尾酒排序 选择排序 插入排序 二分插入排序 希尔排序 快速排序 归并排序 堆排序 计数排序 基数排序 桶排序 测试代码 附C++部分代码 概括排序算法大体可分为两种: 一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。 另一种是非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等。 下面给出常见比较算法的排序性能 排序方法 平均情况 最好情况 最坏情况 空间 稳定性 冒泡 O(n2) O(n) O(n2) O(1) 稳定 简单选择排序 O(n2) O(n2) O(n2) O(1) 不稳定 直接插入排序 O(n2) O(n) O(n2) O(1) 稳定 希尔排序 O(nlogn) ~ O(n2) O(n1.3) O(n2) O(1) 不稳定 堆排序 O(nlogn) O(nlogn) O(nlogn) O(1) 不稳定 归并排序 O(nlogn) O(nlogn) O(nlogn)...
二分查找的总结(6种变形)
发表于2021-12-15|Algorithm
二分查找的总结 普通的二分查找 普通二分查找的另一种写法 第一个=key的,不存在返回-1 第一个>=key的 第一个>key的 第一个...的总结 最后一个=key的,不存在返回-1 最后一个<=key的 最后一个<key 的 最后一个...的总结 完整测试代码 普通的二分查找最普通的写法: 范围在[L,R]闭区间中,L = 0、R = arr.length - 1; 注意循环条件为 L <= R ,而不是L < R; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 static int bs1(int[] arr,int key){ int L = 0,R = arr.length - 1; //在[L,R]范围内寻找key int mid; while( L <= R){ mid = L + (R - L) / 2; if(arr[mid] == key) return mid; if(arr[...
计算机网络知识总结一计算机网络和协议(一)
发表于2021-11-21|Computer Network
计算机网络知识总结一计算机网络和协议(一) 互联网概述 互联网组成 计算机网络的性能指标 OSI参考模型以及TCP/IP四层模型、五层协议 通信过程、数据传输、网络设备 小结 互联网概述 计算机网络: 由若干节点和连接这些节点的链路组成,网络中的节点可以是计算机、集线器、交换机、或路由器等; 网络之间可以通过路由器相互连接,这就构成了一个更大范围的计算机网路,这样的网路称为互连网,因此互连网是网路的网路; 因特网(互联网): 全球最大的特定互连网; 注意以下两个意思相差很大的名词 internet 和 Internet [RFC 1208]: 以小写字母 i 开始的 internet (互连网) 是一个通用名词,它泛指由多个计算机网络互连而成的计算机网络。在这些网络之间的通信协议〈即通信规则) 可以任意选择,不一定非要使用TCP/IP 协议; 以大写字母 I 开始的 Internet 〈互联网或因特网) 则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定互连网,它采用 TCP/IP 协议族作为通信的规则,且其前身是美国的 ARPANET;...
Http协议
发表于2021-11-05|Computer Network
Http协议 一、Web和网络基础 一、Web和网络基础1、使用HTTP协议访问Web 客户端: 通过发送请求获取服务器资源的 Web 浏览器等,都可称为客户端( client )。 Web 使用一种名为 HTTP ( HyperText Transfer Protocol ,超文本传输协议)的协议作为规范,完成从客户端到服务器端等一系列运作流程。而协议是指规则的约定。Web是建立在Http协议上通信的; 2、TCP/IPTCP/IP 协议族按层次分别分为以下 4 层:应用层、传输层、网络层和数据链路层; 应用层: TCP/IP 协议族内预存了各类通用的应用服务。比如, FTP ( File Transfer Protocol ,文件传输协议)和 DNS ( Domain Name System ,域名系统)服务就是其中两类。HTTP 协议也处于该层。 传输层: 传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。在传输层有两个性质不同的协议: TCP ( Transmission Control Protocol ,传输控制协...
C语言基础知识总结(一)
发表于2021-10-26|C/C++
C++基础知识总结(一) C++对C语言的提高 命令空间简单使用 const关键字的加强 引用-重点 指针引用 没有引用指针 const引用 默认参数函数重载作用域运算符 new、delete的使用 C++面向对象基础 一个简单案例 构造函数和析构函数 深拷贝和浅拷贝 指向对象成员函数的指针 常对象 常对象成员-常数据成员&常成员函数 指向对象的常指针 指向常变量、对象的指针 静态成员 友元 C++重载运算符 重载基本运算符 重载=号操作符 重载流插入运算符和流提取运算符 综合案例-矩阵加法以及输入输出 函数模板、类模板 案例-简单实现的Vector类模板中的push_back 文件操作 输入输出流 文件读写 C++对C语言的提高命令空间简单使用引用命令空间的三种方式: 直接指定标识符。例如std::cout<<"hello"<<std::endl;; 使用using关键字。例如using std::cout; ; 导入整个命令空间。例如using namespace std; 导入std命名空间; ...
C语言基础知识总结(一)
发表于2021-10-01|C/C++
C语言基础知识总结(一) 编译、运行 编译格式 C语言编译过程 CPU、寄存器 关于VS的C4996错误 进制,原、反、补码 进制相关 原码、反码、补码 原码和补码互换 有符号和无符号的区别 数据类型取值分析 越界问题 数据类型、运算符等基础 C语言数据类型 sizeof关键字 char数据类型-char的本质就是一个1字节大小的整型 浮点数不准确、类型限定符 字符的输入问题 运算符以及优先级 类型转换 数组、字符串、函数 数组初始化的几种方式 字符数组与字符串 字符串输出乱码问题以及一系列字符串要注意的问题 随机数生成 字符串相关函数 函数 编译、运行编译格式gcc -o main main.cpp生成main可执行文件,可以有两种运行方式: 当前目录运行./main; 绝对路径运行,例如/home/zxzxin/C/main,要注意的是绝对路 径没有.,因为.代表的是当前路径,也就是说我们只需要写上完整路径即可; 编译命令格式 1 2 gcc [-option] ... <filename> //c语言编译 g++ [-...
JVM总结(二)
发表于2021-09-05|JavaJVM
JVM总结(二) - 垃圾收集器与内存分配策略 一、垃圾回收概述 二、如何判定对象为垃圾对象 1、引用计数法 2、可达性分析算法 3、引用分类 4、生存还是死亡-finalize()方法 5、回收方法区 三、垃圾回收算法 1、标记清除算法 2、复制算法 3、标记整理算法 4、分代收集算法 四、垃圾收集器 1、各个垃圾收集器的联系 2、Serial收集器 3、ParNew收集器 4、Parallel Scavenge收集器 5、Serial Old收集器 6、Paralell Old收集器 7、CMS收集器 8、G1收集器 9、各种垃圾收集算法的对比 五、内存分配与回收策略 1、对象优先在Eden分配 2、大对象直接进入老年代 3、长期存活对象将进入老年代 4、空间分配担保 5、动态对象年龄判定 6、关于逃逸分析以及栈上分配 一、垃圾回收概述关于垃圾回收,主要探讨下面四个问题。 1、回收区域 程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的生命周期内,线程结束之后也会消失,因此不需要对这三个区域进行垃圾回收; 垃圾回收主要是针对 Ja...
JVM总结(一)
发表于2021-08-26|JavaJVM
JVM总结(一) - 内存区域与内存管理 一、JVM启动以及JVM体系概述 1、JVM启动流程 2、JVM体系结构 二、运行时数据区总体概括 1、程序计数器 2、Java虚拟机栈 3、本地方法栈 4、Java堆 5、方法区 6、运行时常量池 7、直接内存-不是运行时数据区域的一部分 三、对象相关 1、对象的创建过程 2、对象的内存布局 3、对象的访问定位 一、JVM启动以及JVM体系概述概括: Java有Java编译器和Java虚拟机,编译器将Java源代码转换为.class文件,虚拟机加载并运行.class文件。 Java 的开发遵循“一次编写到处乱跑”理念,它运行在 VM(虚拟机)上。 1、JVM启动流程JVM工作原理和特点主要是指操作系统装入JVM,是通过jdk中java.exe来完成,通过下面4步来完成JVM环境: 创建JVM装载环境和配置; 装载JVM.dll; 初始化JVM.dll并挂界到JNIENV(JNI调用接口)实例; 调用JNIEnv实例装载并处理class类。 2、JVM体系结构JVM体系主要是两个JVM的内部体系结构,分为三个子系...
1…454647…50
avatar
xhj
相关学习笔记
文章
491
标签
109
分类
29
Follow Me
公告
欢迎来到我的博客
最新文章
Multi-Agent2026-06-03
Multi-Agent vs Single-Agent2026-06-02
Harness Engineering2026-06-01
25-架构模式总结2026-05-25
24-Skill-Plugin开发实战2026-05-24
分类
  • AI Agent40
  • Algorithm20
  • Backend Dev74
  • Big Data2
  • C/C++2
  • Claude Code71
  • Computer Basics18
  • Computer Network2
标签
Netty PyG Stacking Pandas Neural Networks PCA Maven Tornado PCV RabbitMQ Claude Code Heap Memory Tree dijkstra Redis GAT MySQL Computer Basics JVM Architecture Linear Regression List Kruskal Algorithm Object Identification Message Queue Gradient descent HBOS LOF Grid search OSI Embedding OLSE Prim NMF DataFrame AI Agent Kafka GNN Thread Compilation
归档
  • 六月 2026 3
  • 五月 2026 25
  • 四月 2026 16
  • 三月 2026 20
  • 二月 2026 10
  • 一月 2026 22
  • 十二月 2025 15
  • 十一月 2025 19
网站信息
文章数目 :
491
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 - 2026 By xhj框架 Hexo 8.1.2|主题 Butterfly 5.5.4