- 博客(7)
- 收藏
- 关注
原创 二分法查找
二分法检索(binary search)又称折半检索,二分法检索的基本思想是设数组中的元素从小到大有序地存放在数组(array)中,首先将给定值key与数组中间位置上元素的关键码(key)比较,如果相等,则检索成功;否则,若key小,则在数组前半部分中继续进行二分法检索;若key大,则在数组后半部分中继续进行二分法检索。这样,经过一次比较就缩小一半的检索区间,如此进行下去,直到检索成功或检索失败。代码示例:import java.util.Arrays;public class BinarySe.
2020-12-22 15:00:25
186
原创 Linux系统从零搭建泰拉瑞亚服务器
本文使用Centos7系统完成泰拉瑞亚服务器的搭建,内容属于基本搭建,对于Linux系统没有太多了解也可以成功搭建。搭建完成可以和朋友一起联机,解决steam服务器连接不上的问题。
2020-12-14 22:44:50
4167
4
原创 并发编程的艺术笔记-并发编程的挑战
并发编程的目的是为了让程序运行的更快,但是,并不是启用更多的线程就能让程序最大程度的并发执行,进行并发编程时,会面临很多挑战,比如上下文呢切换的问题 ,死锁的问题,受限于硬件和软件的资源限制的问题。上下文切换CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片之后会切换到下一个任务。切换前会保存上一个任务的状态,以便下一次切换回来时可以再加载这个任务的状态,任务从保存到加载的过程就是一次上下文切换。多线程一定快吗?不一定,线程有创建和上下文切换的开销。如何减少上下文切换?无锁并发.
2020-12-11 17:18:38
185
原创 常见的链表操作(java实现)
单链表反转递归法:递归法是从最后一个Node开始,在弹栈的过程中将指针顺序置换的定义Node节点:public static class Node { public int value; public Node next; }反转方法如下:public Node reverse(Node head) { if (head == null || head.next == null) return head; Node temp = head.nex
2020-11-17 16:44:53
1018
原创 冒泡排序、插入排序和选择排序Java实现
数据结构与算法—排序(一)这一篇博客主要讲冒泡排序,插入排序,选择排序这三种排序冒泡排序冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复 n 次,就完成了 n 个数据的排序工作。实现代码:// 冒泡排序,a表示数组,n表示数组大小public void bubbleSort(int[] a, int n) { if (n <= 1) return; fo
2020-11-10 22:39:21
195
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人