随笔分类 -  算法学习笔记

2022年12月12号开始学习,准备2023年秋招
摘要:链表 单链表 单链表的Java实现: public static class Node { public int value; public Node next; public Node(int data) { value = data; } } 单链表反转: public static Node 阅读全文
posted @ 2023-01-11 17:18 权。 阅读(40) 评论(0) 推荐(0)
摘要:异或运算 异或运算 ^ 是把数字转化成二进制进行运算,即二进制比较相同位相同的为0,不同的为1。也可以理解为无进位相加 a = 10100101 b = 10101010 a ^ b = 00001111 并且异或运算满足交换律结合律 题目1:一个数组中只有一个数出现了奇数次,求这个数 public 阅读全文
posted @ 2023-01-11 17:16 权。 阅读(242) 评论(0) 推荐(0)
摘要:二分法 二分法多用于有序数组,经典的案例是查找一个一个有序数组中是否存在某个数 题目1 :找出一个有序数组中是否存在某个数? public static boolean exist(int[] sortedArr, int num) { if (sortedArr == null || sorted 阅读全文
posted @ 2022-12-20 09:48 权。 阅读(63) 评论(0) 推荐(0)
摘要:选择排序 选择排序原理:选择一个数组中的第i个数,跟后面所有数进行比较,如果i位置数大于后面位置的数,交换,直到达到数组的末尾。 时间复杂度: O(N方) 代码: public static void selectionSort(int[] arr) { if (arr == null || arr 阅读全文
posted @ 2022-12-19 19:42 权。 阅读(44) 评论(0) 推荐(0)