算法学习
happytaohaha
好记性不如烂笔头
展开
-
算法导论——归并排序和插入排序的结合版本 java
merge排序和insert排序的结合版本,当归并排序把数组分解的足够小的时候,可以在局部对小数组进行插入排序从而提高整个算法的性能:public class MergeAndInsert { public static void mergeAndInsertSort(int[] array, int from, int to) { if (to - from + 1 &...转载 2020-03-30 21:45:01 · 630 阅读 · 0 评论 -
算法导论学习
算法在计算机中的作用算法: 将输入——>想要输出的计算过程的序列数据结构:一种存储和组织数据的方式,旨在便于访问和修改。先修课程计算科学的数学基础6.0001 计算机科学介绍及 Python 编程 6.0001 计算机科学介绍及 Python 编程离散数学:概率论:概率论...原创 2020-03-30 10:27:06 · 167 阅读 · 0 评论 -
卡特兰数学习
参考:https://baike.baidu.com/item/%E5%8D%A1%E7%89%B9%E5%85%B0%E6%95%B0/6125746公式: C(m,n)=n!m!∗m!C(m,n) = \frac{n!}{m!*m!}C(m,n)=m!∗m!n! 、 A(m,n)=n!m!A(m,n) = \frac{n!}{m!}A(m,n)=m!n!卡特兰数1.定义及...原创 2020-03-23 15:28:40 · 301 阅读 · 0 评论 -
红黑树定理证明
定理证明基本概念树的深度和高度:树的深度是从根节点开始(其深度为1)自顶向下逐层累加的,而高度是从叶节点开始(其高度为1)自底向上逐层累加的。证明:内部节点最多,内部节点最少如果一棵红黑树的黑高为 k,则其内部节点最多为,做少为:内部节点最多时的情形为:任何一个简单路径上,黑红黑红黑宏,的循环排列,此时红色节点数目达到最大,树高也达到最大,最大为:2k,此时内部节点为:22k−12^...转载 2020-03-07 14:39:03 · 937 阅读 · 0 评论 -
Java数据结和算法——综述
综述数据结构的特点数据结构优点缺点数组插入快,如果知道下标,可以非常快地存取查找慢,删除慢,大小固定有序数组比无序的数组查找快删除和插入慢,大小固定栈提供后进先出的存取存取其他项很慢队列提供先进先出的存取存取其他项很慢链表插入快,删除快查找慢二叉树查找、插入、删除都快(如果树保持平衡)删除算法复杂红-黑树查找、...原创 2020-02-28 08:48:25 · 252 阅读 · 0 评论 -
Java数据结和算法——目录(持续更新)
旨在具体将每个基础算法过一遍,用较短和较精炼的话将每种结构特点总结出来,供自己以后方便阅读。配合以代码和题目的练习达到入门的门槛,加油,奥里给!目录综述为啥要学算法:算法开篇——什么是算法,学习算法有什么用数组Task01. 两数之和难度:简单https://leetcode-cn.com/problems/two-sum/Task02. 删除排序数组中的重复项难度:简单h...原创 2020-02-28 08:17:19 · 387 阅读 · 0 评论 -
算法开篇——什么是算法,学习算法有什么用
什么是算法任何一个问题的解决方案都并非是凭空出现的,解决一个问题都需要选择一个合适的方法,并在此方法的引导下完成一系列的解答步骤,最终将问题转换为结果状态,对于计算机来说,这样的方法就是算法。算法有很多种分类,可以是一系列的数学计算,也可以是一系列的操作步骤,总之,它存在的意义就是为了有针对性地解决问题,之所以强调针对性解决问题,是因为这个世界上还没有一种可以解决一切的万能算法,每个问题都有...转载 2020-02-25 18:08:28 · 974 阅读 · 0 评论