目录
前言
一、查找算法
1.顺序查找(线性查找)
2.二分查找
二、排序算法
1.冒泡排序
2.直接选择排序
3.插入排序
4.直接插入排序
·
·
·
三、链表的基础操作
1.链表的创建
2.移除链表元素
3.设计链表
4.ListNode temp = head 与 ListNode dumpyNode = new ListNode(0) 的区别
四、树的基础操作
1.二叉树的定义
2.二叉树的递归遍历,前中后
3.层序遍历
4.求树的最大高度
前言
做一些基础数据结构算法汇总,便于日后复习。
一、查找算法
1.顺序查找(线性查找)
依据数组的下标按顺序进行查找,然后返回数组下标。对于数据量较小的情况,比较适用。但是如果数据量较大,花费的时间就比较多。
2.二分查找
二分查找 Binary Search
二分查找的使用,要有一个前提条件:要查找的数必须在一个有序数组里。在这个前提下,取中间位置数作为比较对象:
- 若要查找的值和中间数相等,则查找成功。
- 若小于中间数,则在中间位置的左半区继续查找。
- 若大于中间数,则在中间位置的右半区继续查找。
不断重复上述过程,直到查找成功或者查找区域变为 0,查找失败。
二、排序算法
1.冒泡排序
按从小到大排序举例:
1.比较相邻的两个元素,若前边的元素大于后边的元素则交换。
2.每一对相邻元素都要进行比较。每一个轮次,将最大的排到最后。
3.针对剩余的元素,重复上述步骤
4.没有元素交换,完成排序。
2.直接选择排序
- 第一趟,程序将记录定位在第一个数据上,拿第一个数据依次和后面的数据进行比较,如果第一个数据大,交换,依次类推。经过第一趟比较,这组数据中最小的数据被选出来,排在第一位。
- 第二趟,程序将记录定位在第二个数据上,拿第二个数据依次和后面的数据比较,同样地,第二个数据大就交换。经过第二次比较,这轮最小的书被选出来,放在了第二位。
这样经过n-1次比较,这组数据就会变得有序。
3.插入排序
4.直接插入排序
·
·
·
三、链表的基础操作
1.链表的创建
2.移除链表元素
3.设计链表
4.ListNode temp = head 与 ListNode dumpyNode = new ListNode(0) 的区别
四、树的基础操作
1.二叉树的定义
2.二叉树的递归遍历,前中后java的基础算法
3.层序遍历
4.求树的最大高度
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/3283.html