算法
零号元素
just code it
展开
-
《算法》学习笔记(2)—— 排序
一:基本概念 假设含有n个记录的序列为{r1,r2,……,rn},其相应的关键字分别为{k1,k2,……,kn},需确定1, 2,……,n的一种排列p1,p2,……,pn,使其相应的关键字满足kp1<=kp2<=……<=kpn(非递减或非递増)关系,即序列成为一个按关键字有序的序列 {rp1,rp2,……,rpn},这样的操作就称为排序。 排序的依据是关键字直接的大小关系,可以是...原创 2019-03-29 23:47:29 · 407 阅读 · 0 评论 -
《算法》学习笔记(1)——Union-found
一:背包 API: Bag() 创建一个空背包 void add(Item item) 添加一个元素 boolean i sEmpty() 背包是否为空 int size() 背包中的元素数量 特点: 背包是一种不支持从中删除元素的集合数据类型。 它的目的就是帮助用例收集元素和迭代遍历所有收集到的元素,迭代的顺序不确定且与用例无关。 用例也可以检查背包是否为空或者获取背包中元素的数量。 二...原创 2019-03-28 17:46:56 · 480 阅读 · 0 评论 -
《算法》学习笔记(4)—— 图的算法
一:图的连通性 (一):一个点 1:点的连通问题: 判断点A与点B之间是否连通,以及与点A连通的顶点个数 API Search(Graph g,int s):确定点s boolean match(int v):判断点v和点s是否连通 int count():与s的连通顶点个数 实现 1:union-found算法 2:图的DFS深度遍历算法 //DFS public void ...原创 2019-04-07 16:45:04 · 477 阅读 · 0 评论 -
十分钟了解算法(0)——初始算法
一:算法的定义 算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且毎条指令表示一个或多个操作。 二:算法的特性 输入(可以没有) 输出(至少一个) 有穷性 确定性 可行性 三:算法的要求 正确性:算法至少应该具有输入、输出和加工处理无歧义性、 能正确反映问题的需求、能够得到问题的正确答案。 可读性:便于阅读、理解和交流。 健壮性:当输入数据不合法时,算法也能做出相关处理,...原创 2019-03-28 12:03:46 · 857 阅读 · 0 评论 -
《算法》学习笔记(5)—— 字符串的算法
一:字符串的排序 小整数键——键索引计数法 计算键出现的频率 将频率转换为在排序结果中的起始索引位置 在辅助数组中开始排序原创 2019-04-10 23:21:32 · 287 阅读 · 0 评论 -
十分钟了解算法(3)——有趣的算法
一:KNN算法 (一)概念 K最近邻,就是k个最近的邻居的意思,每个样本都可以用它最接近的k个邻居来代表。 (二)特点 如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。 (三)使用 1. 特征抽取 挑选合适的特征 确定样本的特征值,建立n维坐标轴 标出每个样本的点,并使用毕达哥拉斯公式计算两点间的距离,这表示两个样本的相似程...原创 2019-03-26 21:52:56 · 972 阅读 · 0 评论 -
十分钟了解算法(2)——初始贪心算法和动态规划
1. 贪心算法 贪心的本质:为了达到目的,每一步都采取最优的方法,也就是局部最优解。原创 2019-03-26 20:39:48 · 268 阅读 · 0 评论 -
十分钟了解算法(1)——初始递归与分治
1. 算法的速度——大O表示法 定义:它指出了算法运行时间的增速,让你能够比较操作数。 计算:在最坏情况下的操作数。 常见(由快到慢): O(1):也叫常量时间 O(logn):也叫对数时间 O(n):也叫线性时间 O(n*logn) O(n2) O(n!) ...原创 2019-03-23 20:36:11 · 423 阅读 · 0 评论 -
《算法》学习笔记(3)—— 查找
一:基本概念 査找表:是由同一类型的数据元素(或记录)构成的集合。 静态査找表:只作査找操作的査找表。 査询某个特定的数据元素是否在査找表中, 检索某个特定的数据元素和各种属性。 动态査找表:在査找过程中同时插入査找表中不存在的数据元素,或者从査找表中删除巳经存在的某个数据元素。 关键字:是数据元素中某个数据项的值,又称为键值,用它可以标识一个数据元素。也可以标识一个记录的某个数据项(字段),...原创 2019-03-30 16:40:10 · 341 阅读 · 0 评论