9月18日

        今天早上7点多就醒了,按照习惯先背了单词,发现中秋节三天忘记打卡了,挺对不起小组里的其他人的。

        今天一天满课,新思想那节课我没有书,就选择自学,包括下午的linux课我都在b站听数据结构课,感觉当时收获挺大的。

        中午不知道为什么睡眠质量不好,醒了好多次,以后应该固定午休睡30分钟或者45分钟(高中老师说这样比较好)。

        今日收获:

                1.学习了数据结构,了解了时间复杂度的相关知识,并学会了三种排序方法(冒泡排序,插入排序,选择排序)

冒泡排序:像冒泡一样一次次的把最大值冒出来

public static void bubbleSort ( int[] arr){
    if (arr == null || arr.length < 2) {
        return;
    } 
    for (int i = arr.length -1 ; i>0 ; i--) {
        for(int j = 0 ; j<i ;  j++){
            if(arr[j] > arr[j+1]){
                swap1(arr,j,j+1);
            }
        }
    }
 }

插入排序:先排列两个,再将新数据插入到已经排序部分的正确位置。

public static void insertionSort ( int[] arr){
    if (arr == null || arr.length < 2) {
        return;
    }
    for (int i = 1; i <arr.length ; i++) {
        for(int j = i-1;j>=0&&arr[j]>arr[j+1];j--){
            swap(arr,j,j+1);
        }
    }
}

选择排序:每次从未排序的部分中选择最小(或最大)的元素,放到已排序部分的末尾

public static void selectionSort(int[] arr) {
    if(arr == null || arr.length <2){
        return;
    }
    for (int i = 0;i<arr.length-1;i++) {
        int minIndex = i;
        for (int j = i+1;j<arr.length;j++){
            minIndex = arr[j] < arr[minIndex] ? j : minIndex;
        }
        swap(arr,i,minIndex);
    }
}

 

                2.学习了异或(符号:^)相关知识【(1)相同为0,不同为1 (2)N^N = 0 , N^0 = N】,了解了一种有意思的交换数值的方法,前提是;两个变量不在同一块内存

public static void swap(int[] arr, int a, int b){
    arr[a] = arr[a]^arr[b];
    arr[b] = arr[a]^arr[b];
    arr[a] = arr[a]^arr[b];
  }

                3.软件设计课上用starUML画了一个类图,会简单的使用,但是不太熟练,题目中不同类的关系有时候也搞不太清楚,画了一个残次品但最起码迈出了一步。

                4.数据科学课上用的是python分析相关的数据,感觉python对统计这方面好强大,但是python差不多0基础,看着资料做着题,有些函数运用的还不是很熟练。

        明天计划:

                1.早起背单词

                2.安装vscode,web是时候整一整了

                3.继续看数据结构课(能看多少看多少)

                4.开始学java网络编程

 

骐骥一跃,不能十步;驽马十驾,功在不舍;锲而舍之,朽木不折;锲而不舍,金石可镂。——荀况引自《荀子,劝学》

               

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值