随笔分类 - 数据结构与算法
摘要:一、简介 牛顿迭代法(Newton's method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。 多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。方法
阅读全文
摘要:MD5 的特性 bcrypt 加密算法 加密的随机盐和加密的幂次,和加密算法的版本号已经被存储到了真正的密文中; 为什么SpringSecurity弃用md5而用bcrypt 在使用穷举法暴力破解中,md5算法生成一个密文用时在微秒级,也就是说,一个6位密码的所有组合,通过穷举只需要40秒。 而使用
阅读全文
摘要:面试的时候,偶然被问到,开根号的实现,虽然给面试官讲解了思路,但是没有实际实现过,今天闲来无事,就把自己的思路写一下,做个笔记。 如果某个数字正好可以开根号为2个整数,例如1,4,9等,那就很简单了。 如果某个数字不可以正好开根号为2个整数,而且要保留几位精度,例如:2,3,5等,我们该怎么办呢??
阅读全文
摘要:1、什么是二叉树 在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。 2、源码 1)Node节点 2)Tree: 3)测试程序 Reference: [1] Robert Lafore(著), 计晓
阅读全文
摘要:1、什么是希尔排序? 希尔排序由计算机科学家希尔发现,希尔排序是给予插入排序的一种新的排序方法,较之余传统的插入排序,希尔排序的效率更为高效 2、上源码 3、运行结果 4、算法分析 希尔排序的核心算法在于shell.Sort()方法,总体思路是在大范围内使之有序,最后再在小范围内使之有序。 当完成第
阅读全文
摘要:1、核心算法 2、测试代码: 3、结果: Reference: [1] Robert Lalore(著) 计晓云,赵研,曾希,狄小菡(译), Java数据结构和算法(第二版),中国电力出版社,2004 :200-204
阅读全文
摘要:1、链表实体 2、核心代码 3、测试代码 4、运行结果 Reference: [1] Robert Lalore(著) 计晓云,赵研,曾希,狄小菡(译), Java数据结构和算法(第二版),中国电力出版社,2004 :165-173
阅读全文
摘要:1、Link结构 2、排序类 3、测试类 4、运行结果 Reference: [1] Robert Lalore(著) 计晓云,赵研,曾希,狄小菡(译), Java数据结构和算法(第二版),中国电力出版社,2004 :158-165
阅读全文
摘要:1、结构: 2、Link代码: 3、LinkList代码: 4、运行代码: 5、结果: Reference: [1] Robert Lalore(著) 计晓云,赵研,曾希,狄小菡(译), Java数据结构和算法(第二版),中国电力出版社,2004 :131-150
阅读全文
摘要:1、概念栓释 堆:什么是堆?又该怎么理解呢? ①堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: ·堆中某个节点的值总是不大于或不小于其父节点的值; ·堆总是一棵完全二叉树。 将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。 ②堆是在
阅读全文
摘要:1、核心算法 2、运行并试执行: 3、运行结果: Reference: [1] Robert Lalore(著) 计晓云,赵研,曾希,狄小菡(译), Java数据结构和算法(第二版),中国电力出版社,2004 :63-65
阅读全文