随笔分类 -  算法

摘要:注意,本文不是字符串排序,是字符串数组的排序。 方法分别是: 1、低位优先键索引排序 2、高位优先建索引排序 3、Java自带排序(经过调优的归并排序) 4、冒泡排序 5、快速排序 6、三向快速排序 时间复杂度: 最慢的肯定是冒泡,O(n的平方) 最快的是快速排序,平均 O(nlogn) 低位优先, 阅读全文
posted @ 2019-04-19 16:29 昕友软件开发 阅读(51039) 评论(0) 推荐(3) 编辑
摘要:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 示例 1: 示例 2: 阅读全文
posted @ 2019-04-12 16:08 昕友软件开发 阅读(522) 评论(0) 推荐(0) 编辑
摘要:给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素 阅读全文
posted @ 2019-04-12 12:47 昕友软件开发 阅读(659) 评论(0) 推荐(0) 编辑
摘要:在网上搜索算法的博客,发现一个比较悲剧的现象非常普遍: 原理讲不清,混乱 啰嗦 图和文对不上 不可用,甚至代码还出错 我总结一个清晰不罗嗦版: 原理: 和选择排序类似的是也分成“已排序”部分,和“未排序”部分,选择排序是替换最小值; “待排序”索引i从数组索引第二位开始(如果起始下标是0,就从下标1 阅读全文
posted @ 2018-09-21 09:20 昕友软件开发 阅读(282) 评论(0) 推荐(0) 编辑
摘要:在网上搜索算法的博客,发现一个比较悲剧的现象非常普遍: 原理讲不清,混乱 啰嗦 图和文对不上 不可用,甚至代码还出错 我总结一个清晰不罗嗦版: 原理: 从数组头元素索引i开始,寻找后面最小的值(比i位置值小),进行交换; 索引i依次+1 选择排序时间复杂度选择排序的时间复杂度是O(N2)。假设被排序 阅读全文
posted @ 2018-09-20 17:32 昕友软件开发 阅读(253) 评论(0) 推荐(0) 编辑
摘要:在网上搜索算法的博客,发现一个比较悲剧的现象非常普遍: 原理讲不清,混乱 啰嗦 图和文对不上 不可用,甚至代码还出错 为了不误人子弟耽误时间,推荐看一些靠谱的资源,如【啊哈!算法】系列: https://www.cnblogs.com/ahalei/p/3568434.html 他是C语言实现,其实 阅读全文
posted @ 2018-09-20 16:19 昕友软件开发 阅读(600) 评论(0) 推荐(0) 编辑

欢迎访问我的开源项目:xyIM企业即时通讯
点击右上角即可分享
微信分享提示