- 博客(13)
- 收藏
- 关注
原创 Linux常用命令
Linux常用命令1.新建目录和文件2.复制目录和文件3.移动目录和文件4.重命名目录和文件5.删除目录和文件6.当前目录1.新建目录和文件mkdir testtouch test.txt2.复制目录和文件把目录user复制到haha下cp -r user haha/把目录user复制到haha下,不包含user目录cp -r user/. haha/把user.txt复制到user目录下cp user.txt user3.移动目录和文件移动user到haha下mv us
2020-12-22 16:05:48 208
原创 Mac安装Python3.9
mac系统自带python环境,不过都是2.x版本。我们使用mac的brew命令安装python3.9。mac默认python目录/System/Library/Frameworks/Python.framework/Versions, 使用python可以查看当前安装python版本brew命令无法使用打开网站https://www.ipaddress.com/查询一下 raw.githubusercontent.com对应的IP 地址修改这个文件/etc/hosts增加一行 199...
2020-12-20 21:49:56 11618
原创 Java 希尔排序
/** * 希尔排序 * * @Author ZhangGJ * @Date 2020/12/18 06:29 */public class Shell { public static Comparable[] sort(Comparable[] a) { int n = a.length; int h = 1; while (h < n / 3) { h = 3 * h + 1; }
2020-12-18 06:45:10 141
原创 Java 插入排序
/** * 插入排序 * * @Author ZhangGJ * @Date 2020/12/17 07:37 */public class Insertion { public static Comparable[] sort(Comparable[] a) { int n = a.length; for (int i = 1; i < n; i++) { for (int j = i; j > 0 &&am
2020-12-17 08:21:59 75
原创 Java 选择排序
首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换),其次,在剩下的元素中找到最小元素,将它与数组的第二个元素交换位置。如此往复,知道整个数组排序,这种算法叫做选择排序,因为它在不断地选择剩余元素中的最小者。交换元素的代码写在内循环之外,每次交换都能排定一个元素,因此交换的总次数是n,所以算法的时间效率取决于比较的次数。对于长度为n的数组,选择排序需要大约n²/2次比较和n次交换。特点:1.运行时间和输入无关。一个已经排序的数组和一个.
2020-12-17 07:34:41 136
原创 Java Dijkstra双栈算数表达式求值算法
/** * ( 1 + ( ( 6 - 3 ) * ( 10 / 5 ) ) ) * * @Author ZhangGJ * @Date 2020/12/15 07:24 */public class Evaluate { public static void main(String[] args) { Stack<String> operator = new Stack<>(); Stack<Double> value
2020-12-15 22:53:45 174 1
原创 Java 计算调和级数
/** * 调和级数 * * @Author ZhangGJ * @Date 2020/12/06 21:22 */public class HarmonicProgression { public static double harmonic(int number) { double sum = 0.0; for (int i = 0; i <= number; i++) { sum += 1.0 / i;
2020-12-06 21:27:43 383 2
原创 Java 计算平方根(牛顿迭代法)
/** * @Author ZhangGJ * @Date 2020/12/06 21:01 */public class SquareRoot { public static double sqrt(double number) { if (number < 0) { return Double.NaN; } double err = 1e-15; double t = number;
2020-12-06 21:19:45 309
原创 Java 是否是素数
/** * @Author ZhangGJ * @Date 2020/12/06 11:36 */public class PrimeNumber { public static boolean isPrimeNumber(int number) { boolean result = true; if (number < 2) { result = false; } for (int i = 2;
2020-12-06 21:00:43 75
原创 Java 典型数组操作算法
典型数组处理代码1、颠倒数组元素的顺序2、矩阵相乘二维数组:1、颠倒数组元素的顺序/** * @Author ZhangGJ * @Date 2020/12/06 09:59 */public class ArrayReverseOrder { private static int[] arr = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; /** * 颠倒数组元素的顺序 * * @param original *
2020-12-06 11:35:25 66
原创 Java 欧几里得算法(Euclid Algorithm)
自然语言描述: 计算两个非负整数p和q的最大公约数:若q是0,则最大公约数为p。否则,将p除以q得到余数r,p和q的最大公约数即为q和r的最大公约数。/** * @Author ZhangGJ * @Date 2020/12/06 09:18 */public class Euclid { public static int euc(int p, int q) { if (q == 0) { return p; }
2020-12-06 09:28:18 325
原创 Java I/O
I/O一、File类1. File2.目录实用工具3.目录的检查以及创建一、File类1. FileFile(文件)类这个名字有一定的误导性,我们可能认为它指代的是文件,实际上却并非如此,它技能代表一个特定文件的名称,又能代表一个目录下的一组文件的名称,如果它指定的是一个文件集,我们就可以对此集合调用list()方法,这个方法会返回一个字符数组。class DirFilter implements FilenameFilter { private Pattern pattern;
2020-12-06 06:42:41 222
原创 Java散列和散列码
散列的价值在于速度:散列使得查询得以快速进行,由于瓶颈位于键的查询速度,因此解决方案之一就是保持键的排序状态,然后使用Collections.binarySearch()进行查询。 散列则更进一步,它将键保存在某处,以便能够快速找到,存储一组元素最快的数据结构是数组,所以使用它来表示键的信息(键的信息,而不是键本身),但是因为数组不能调整容量,因此就有一个问题:我们希望在Map中保存数量不确定的值,但是如果键的数量被数组的容量限制了,该怎么办呢? 答案就是:数组并不保存键本身,而是通过键对象生成
2020-12-04 07:31:11 255
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人