OpenIsle
OpenIsle
话题发帖我的消息🔥 活动
类别
技术 & 开发调优 x 9
游戏 x 0
音乐 x 0
标签
软件开发 x 5
Java x 2
Linux x 1
Rust x 1
Spring x 1
Docker x 0
最新回复
最新
精选
排行榜
选择分类
选择标签
话题
参与人员
回复
浏览
活动
基础排序
插入排序 插入排序(Insertion Sort)是一种简单直观的排序算法,它的工作原理非常类似于我们平时整理扑克牌的过程。 核心思想 将数组分为两个部分:已排序区域和未排序区域。算法每次从“未排序区域”中取出第一个元素,在“已排序区域”中从后往前扫描,找到合适的位置并插入。 具体步骤 从第二个元素开始:第一个元素可以看作已经排好序。 取出当前元素:将当前元素存储到一个临时变量中。 比较与移动:将该元素与它左侧的已排序序列从后往前依次比较。如果左侧元素大于当前元素,就将左侧元素向后移动一位。 插入:找到合适位置后,将当前元素放入该空位。 重复:对数组中的后续元素重复上述步骤,直到整个数组排序完成。 性能分析 时间复杂度: 最坏情况:O(n2)(数组完全逆序时)。 最好情况:O(n)(数组已经是有序的,只需遍历一遍)。 平均情况:O(n2)。 空间复杂度:O(1),因为它是一种原地排序算法,不需要额外的存储空间。 稳定性:它是稳定的,即相等元素的相对位置在排序后不会改变。 优缺点总结 优点: 实现非常简单。 对于小规模数据或者基本有序的数据,插入排序的效率非常高(甚至比快...
技术 & 开发调优
Java
avatar
0
1
4.3 12:07
神奇的质数
质数(Prime Number),又称素数,是指在大于 1 的自然数中,除了 1 和 它本身 以外,不能被其他自然数整除的数。 通俗地说,质数就是那种“很硬”的数字,它没办法被拆解成两个更小的数相乘(除了 1 乘以它自己)。 1. 质数的核心特征 必须大于 1:1 既不是质数,也不是合数。 只有两个因数:一个是 1,另一个是它自己。 最小的质数是 2:这也是质数中唯一的一个偶数,其他的质数全部都是奇数。 质数判断法:计算一个数的平方根,从2开始,取小于这个平方根的所有自然数进行取模运算,如果存在循环中出现过模运算结果为0,说明这个数能被其他数字整除,不是质数。 为什么循环到 Math.sqrt(n)(n 的平方根)就停止了? 这是这段代码最聪明的地方(算法优化)。 原理:如果一个数 n 有因数,那么其中一个因数一定小于或等于 sqrt{n},另一个大于或等于 sqrt{n}。 例子:判断 100 是不是质数。 我们不需要从 2 试到 99。 sqrt{100} = 10。我们只需要试到 10。 因为如果你发现 100 不能被 2 到 10 之间的任何数整除,那么它也一定不能被...
技术 & 开发调优
软件开发
avatar
0
4
2.28 08:50
Java日常(一)
Java中所有数据类型分为两类:基本类型和引用类型,他们的主要区别是基本类型变量存储实际值,引用类型变量存储数据在内存中的地址(引用);基本类型存储在栈区(stack),引用类型存储在堆区(heap) 不同基本类型数据进行混合运算时,会自动提升(Numeric Promotion),规则如下: 如果其中一个是 double,另一个就会被转成 double。 否则,如果其中一个是 float,另一个就会被转成 float。 否则,如果其中一个是 long,另一个就会被转成 long。 否则,两个操作数都会被转成 int(即使它们原本是 byte 或 short)。 浮点型优先级高于整形 从Java11起,可以直接 java xx.java 直接运行得到结果,不会产生.class文件 Java12引入了switch表达式,和switch语句的区别在于它可以给变量赋值,而不是在case语句中修改变量。case中必须考虑所有情况。 Java有两种修饰符,访问修饰符和非访问修饰符 如果有package包名和import导入,那么package必须在第一行,否则会编译错误 java.lang包...
技术 & 开发调优
Java
avatar
0
11
2.27 13:44
Spring-WebFlux
技术 & 开发调优
Spring
avatar
0
3
2.6 16:50
Rust-Books
Getting Started Hello, World! hello.rs fn main() { println!("Hello, world!"); } rustc generates a binary executable named hello Hello, Cargo! We can create a project using cargo new. We can build a project using cargo build. We can build and run a project in one step using cargo run. We can build a project without producing a binary to check for errors using cargo check. Instead of saving the result of the build in the same directory as our code, Cargo stores it in the target/debug ...
技术 & 开发调优
Rust
avatar
0
5
2.4 09:14
日常
日常开发记录 给PoweShell配置代理 设置临时代理,仅当前窗口生效 $env:HTTP_PROXY = "http://127.0.0.1:7890" $env:HTTPS_PROXY = "http://127.0.0.1:7890" 服务器优先使用ipv4 修改 gai.conf 这种方法不会禁用 IPv6,只是降低 IPv6 的优先级。它是通过修改 getaddrinfo 的配置文件来实现的,对绝大多数应用程序(如 curl, apt, wget)都有效。 编辑配置文件: Bash sudo nano /etc/gai.conf 找到以下这一行(通常在第 54 行左右): Plaintext #precedence ::ffff:0:0/96 100 取消注释(去掉前面的 #): Plaintext precedence ::ffff:0:0/96 100 原理:这一行的意思是将 IPv4 映射地址的优先级设为 100(默认 IPv6 是 40)。 保存并退出:无需重启,立即生效。
技术 & 开发调优
软件开发
Linux
avatar
0
5
1.30 09:42
开发设计
启用全局返回值和异常处理 枚举缓存(按需设计)
技术 & 开发调优
软件开发
avatar
0
4
1.28 12:32
Windows docker端口占用
有时候发现电脑软件打不开,出现端口占用的情况,但是发现端口占用的时候 netstat命令 netstat -ano | findstr :portname 找不到被占用的程序,大概率是因为Hyper-V 端口保留:Windows 系统(由于 Hyper-V 或内核更新)会动态预留几千个端口作为“排除范围”。 解决办法:使用管理员打开cmd或者pwsh net stop winnat随后net start winnat
技术 & 开发调优
软件开发
avatar
0
12
1.27 16:31
第一个帖子
终于部署调试完毕,多谢大佬开源,我以后也要开源一个,学习学习先,🤭
技术 & 开发调优
软件开发
avatar
0
34
1.27 11:38