算法
文章平均质量分 91
eluanshi12
这个作者很懒,什么都没留下…
展开
-
重写equal 的同时为什么必须重写hashcode?
equal定义:如果两个对象是相等(equal)的,那么两个对象调用hashCode必须产生相同的整数结果,即:equal为true,hashCode必须为true,equal为false,hashCode也必须为false,所以必须重写hashCode来保证与equal同步。默认情况下也就是从超类Object继承而来的equals方法与‘==’是完全等价的,比较的都是对象的内存地址,但我们可以重写equals方法,使其按照我们的需求的方式进行比较,如String类重写了equals方法,使其比较的是字符原创 2021-03-18 14:32:53 · 443 阅读 · 1 评论 -
冒泡排序的优化与快速排序
漫画:什么是冒泡排序? 冒泡排序的思想,相邻的元素两两比较,根据大小来交换元素的位置 原始的冒泡排序是稳定排序。由于该排序算法的每一轮要遍历所有元素,轮转的次数和元素数量相当,所以时间复杂度是O(N^2) 。int[] array = new int[]{5,8,6,3,9,2,1,7};//冒泡排序public void BubbleSort1(int arr[]){ ...转载 2018-07-20 10:29:36 · 269 阅读 · 0 评论 -
漫画:动态规划相关内容
动态规划(Dynamic Programming),分阶段求解决策问题的数学思想。应用于编程、管理学、经济学、生物学等。【大事化小,小事化了】【爬10层台阶案例】 最优子结构 F(10)=F(9)+F(8); 边界 F(1)=1、F(2)=2; 状态转移公式 F(n)=F(n-1)+F(n-2);1、递归求解 二叉树,高度N-...转载 2018-07-30 17:14:29 · 1210 阅读 · 0 评论