随笔分类 -  关于算法

摘要:归并排序: 1)整体是递归,左边排好序+右边排好序+merge让整体有序 2)让其整体有序的过程里用了排外序方法 3)利用master公式来求解时间复杂度 4)当然可以用非递归实现 代码如下: package day3; import java.util.Arrays; public class C 阅读全文
posted @ 2021-07-04 11:39 IT小五 阅读(52) 评论(0) 推荐(0) 编辑
摘要:栈和队列 双向链表实现 package 链表; //https://leetcode-cn.com/problems/design-linked-list/submissions/ public class _707_设计链表 { /* * ["MyLinkedList","addAtHead"," 阅读全文
posted @ 2021-06-28 20:19 IT小五 阅读(59) 评论(0) 推荐(0) 编辑
摘要:单链表:单指向链表 双向链表:前后都指向链表 题目1:单链表和双向链表如何反转 package day2; //反转链表 public class Code01_ReverseList { public static class Node { public int value; public Nod 阅读全文
posted @ 2021-06-28 19:54 IT小五 阅读(60) 评论(0) 推荐(0) 编辑
摘要:异或运算 异或运算:相同为0,不同为1同或运算:相同以1,不同为0 能长时间记住的概率接近0% 所以,异或运算就记成无进位相加! 性质: 0N==N NN == 0 2)异或运算满足交换律和结合律 题目:如何不用额外变量交换两个数? 首先是两个东西指的内存不一样,和值相等不相等没有关系。 a = a 阅读全文
posted @ 2021-06-20 20:31 IT小五 阅读(409) 评论(0) 推荐(0) 编辑
摘要:二分法 时间复杂度:logN 1)在一个有序数组中,找某个数是否存在 package day1; import java.util.Arrays; /* * 二分查找其中精确的一个数 */ public class Code4_BSExist { public static boolean exis 阅读全文
posted @ 2021-06-20 20:29 IT小五 阅读(62) 评论(0) 推荐(0) 编辑
摘要:在线测试(对数器) 认识对数器 概述:产生大规模数据,与原生的排序算法比较,进行检测自己所写的算法是否正确 1,你想要测的方法a 2,实现复杂度不好但是容易实现的方法b 3,实现一个随机样本产生器 4,把方法a和方法b跑相同的随机样本,看看得到的结果是否一样 5,如果有一个随机样本使得比对结果不一致 阅读全文
posted @ 2021-06-20 20:26 IT小五 阅读(398) 评论(0) 推荐(0) 编辑
摘要:评估算法优劣的核心指标? 时间复杂度:(流程决定) 首先看一个概念: 常数时间的操作:如果一个操作的执行时间不以具体样本量为转移,每次执行时间都是固定时间。称这样的操作作为常数时间的操作。(说白了就是和数据量无关的,数据量变化每次执行时间都固定下来的常数时间操作,) 常见的常数时间操作: 常见的算术 阅读全文
posted @ 2021-06-20 20:24 IT小五 阅读(347) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示