数据结构与算法新手班
文章平均质量分 67
dudu0917
这个作者很懒,什么都没留下…
展开
-
环形数组/递归复杂度分析
环形数组如何实现环形数组思路:使用一个putIndex和一个getIndex表示插入的位置和获取的位置,但是这样就要考虑两个指针的追赶情况,如果都是0是代表初始化还是代表已经追赶上了?增加一个size变量 插入和获取只需要判断size大小即可public class RingArray { private int[] arr; private int pushi;// end private int polli;// begin private int si原创 2022-05-13 22:18:54 · 159 阅读 · 0 评论 -
归并排序/快排-非递归版本
归并排序思路:设置step步长 将数组按步长划分 比如arr[0,1,2,3,4] 开始step = 1;第一个左组[0] 和 第一个右组[1] 进行merge操作;第二个左组[2] 和 第二个右组[3] 进行merge操作;剩下的不足以划分将step * 2 , 开始merge新的左组 和 右组,等到step = 4时 此时左组[0,1,2,3] 右组[4] 进行merge操作判断step >= N 就可以退出循环public static void mergeSort2(Int原创 2022-05-11 23:25:09 · 69 阅读 · 0 评论 -
大厂必考二叉树算法-递归的深度使用
遍历二叉树static class TreeNode{ private int data; private TreeNode left; private TreeNode right; public TreeNode(int a) { this.data = a; } public TreeNode addL(int a) { TreeNode left =原创 2022-05-10 23:19:28 · 148 阅读 · 0 评论 -
大厂必考链表算法-反转链表/合并有序K链表
反转链表Node节点public static class Node<T> { public T value; public Node next; public Node(T data) { value = data; } public void print() { Node head = this; StringBuffer sb =原创 2022-05-09 22:33:05 · 236 阅读 · 0 评论 -
二分法查找特定数据
二分法有序数组中找到num思路:采用二分法先判断mid位置元素的大小如果arr[mid] = num 就直接返回如果arr[mid] < num 就继续向右边找是否还存在 = num的数据, 即设置 L = mid + 1如果arr[mid] > num 就设置 R = mid - 1, 继续向左边找public static boolean find(int[] arr, int num) { if (arr == null || arr.length ==原创 2022-05-08 21:15:50 · 266 阅读 · 0 评论 -
前缀和&等概率器
前缀和问题描述有一个整数数组,给出数组范围L、R,求L到R之间的数据和思路循环L到R之间的数据累加构造二维数组,里面保存所有可能的L到R的数据累加和重新构造一个整数数组,后面一个元素保存前面所有元素和自己本身元素之和,计算arr[L,R] = arr[R] - arr[R - L + 1]方式一...原创 2022-05-08 00:54:53 · 398 阅读 · 0 评论 -
简单排序-选择/归并/快排/冒泡/插入
选择排序思路:第一层循环代表需要存放最小值得索引第二层循环找到最小值的索引交换第一层索引和最小索引的值public class SelectSort<T extends Comparable<T>> { public static void sort(Comparable[] arr) { for (int i = 0; i < arr.length; i++) { int minIdx = i;原创 2022-05-07 13:05:23 · 538 阅读 · 0 评论 -
位运算-实现位图和计算器
常用的位运算位运算符说明计算案例&与都是1为1, 否则即为 04 & 3 = 0100 & 0011 = 0000 == 0|或有一个为1就是14 & 3 =》 0100 | 0011 = 0111 == 7^异或不同为1 相同为07 & 3 =》 0111 ^ 0011 = 0100 == 4~取反二进制的0变成1,1变成0~4 = 11111111111111111111111111111011原创 2022-05-06 15:58:29 · 642 阅读 · 0 评论