
算法
介绍常见算法
北落师门_Orz
人生五十年,如梦亦如幻,有生斯有死,壮士何所憾
展开
-
归并排序与快速排序
知识点 归并排序 快速排序 归并排序 归并排序的核心思想就是把数组一分为二,然后就有了两个数组,然后分别对数组进行排序,两个数组分别有序后再把两个数组合并,更具体的来说把一个数组不断的二分,直到二分的数组只有一个元素为止,然后将数组进行合并。 归并排序的效率是N∗lgNN*lgNN∗lgN,其主要缺点则是它所需的额外空间和N成正比,具体分析如下图所示: 快速排序 快速排序流行的原因是它实现简单、适用于各种不同的输入数据切在一般应用中比其他排序算法都要快很多,其引人注目的特点包括它是原地排序(只需要一原创 2020-09-11 00:22:46 · 258 阅读 · 0 评论 -
栈、队列、基础排序
知识点 stacks and queues 选择排序 插入排序 希尔排序 Stacks and queues 栈是在先进后出,push和pop的操作在同一端(LIFO,last in first out) 队列是先进先出,操作在两端(FIFO, first in first out) 通常栈跟队列都是用数组实现的,数组空时最好要减少数组的长度,通常缩小为四分一,数组满时扩容,扩充一倍。一般是根据需要再建个数组(扩容或缩小长度都应该是已知的了),然后再把值赋进去就可以了。 排序 Java中实现排序原创 2020-09-11 00:20:59 · 243 阅读 · 0 评论 -
并查集与算法分析
知识点 并查集 算法分析 并查集 dynamic connectivity 判断各个节点是否连通,常用的方法有两个:connected(a,b),union(a,b);connected返回布尔值判断a,b是否连通,union连通a,b。 连通问题应用广泛,例如是否可以在p和q之间建立桥梁,通信线路,这些字符或整数对还可表示社交网络。 假设现有集合:{1,…,10},经过连续的union的后连通的组件称为connected components,所以至少有一个connected components原创 2020-09-11 00:18:34 · 336 阅读 · 0 评论