今天早上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网络编程
骐骥一跃,不能十步;驽马十驾,功在不舍;锲而舍之,朽木不折;锲而不舍,金石可镂。——荀况引自《荀子,劝学》