随笔分类 -  数据结构与算法

归并排序,快速排序算法分析
摘要:归并排序,快速排序; 像冒泡排序,插入排序,选择排序这样的排序算法,他们的时间复杂度都是O(n^2),适合小规模的排序。 有两种时间复杂度为O(n log n)的排序算法:归并,快速排序;比较适合大规模的数据排序; 归并,快速排序都用分治算法; 归并排序 思路 如果要排序一个数组,我们先把数组从中间 阅读全文

posted @ 2020-03-19 22:05 passionConstant 阅读(284) 评论(0) 推荐(0) 编辑

冒泡排序和插入排序java代码实现以及复杂度分析
摘要:冒泡排序 思路: 冒泡排序操作相邻的两个数据。每次冒泡都会将相邻的两个元素比较,如果不满足最终排序的大小关系,就将两数交换。一次冒泡排序会让至少一个元素移动到应该在的位置。重复n次。 优化: 如果某一次冒泡排序已经没有数据交换的时候,说明已经达到完全有序了,不许要在进行后续冒泡操作。 代码: 算法分 阅读全文

posted @ 2020-02-14 18:04 passionConstant 阅读(195) 评论(0) 推荐(0) 编辑

判断链表是否为回文链表
摘要:对应leetCode 234: java代码实现,主要记录算法思路。 思路: 使用 快慢两个指针 ,快指针一次向后两个节点,慢指针一次向后一个节点,在快慢指向后针遍历的同时将慢回溯,最后慢指针停在链表的中间;取两个指针,以慢指针为中心点,向两边遍历比较是否为回文链表; 代码: 关于奇偶数判别: 奇数 阅读全文

posted @ 2020-02-11 21:34 passionConstant 阅读(260) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示