java算法总结
一、 排序
1、冒泡排序:
t冒泡排序是一种简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
java笔记总结 2、选择排序:
t选择排序是一种简单直观的排序算法,无论什么数据进去都是O(n)的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。
3、插入排序:
t插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过
构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,到相应位置并插入。
4、希尔排序:
t希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法的基本思想是:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。
二、查
1、线性查:
t线性查又称顺序查,是一种最简单的查算法。从数据结构线形表的一端开始,顺序扫描,依次将扫描到的结点关键字与给定值k相比较,若相等则查成功;若扫描结束仍没有到关键字等于k的结点,则表示表中不存在关键字等于k的结点,查失败。
2、二分查:
t二分查又称折半查,要求待查的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置的值更大,则在前半部分循环这个查的过程,如果中间位置的值更小,则在后半部分循环这个查的过程。
3、二叉查树:
t二叉查树(Binary Search Tree,简称BST),又被称为二叉搜索树、有序二叉树。它是一棵空树或者是具有下列性质的二叉树:
若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;
若任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值;
任意节点的左、右子树也分别为二叉查树;
没有键值相等的节点
三、字符串处理
1、KMP算法:
tKMP算法是由Donald E.Knuth、Vaughn R. Pratt和James H.Morris三人于1977年提出的一种改进的字符串匹配算法,它利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论