数据结构与算法
文章平均质量分 73
liyakun1990
这个作者很懒,什么都没留下…
展开
-
算法精解(三)——归并排序
归并排序 O(NlogN),所以归并排序最坏情况能够达到快速排序的平均水准 需要额外的存储空间O(n) 1、对数据不断的分割,直到剩下一个一个的 2、合并数据,在合并的时候,其实是两个有序的数组,因此 这个过程是两个有序数组进行合并排序 // 归并排序 // O(NlogN),所以归并排序最坏情况能够达到快速排序的平均水准 // 需要额外的存储空间O(n)原创 2014-09-22 01:07:03 · 801 阅读 · 0 评论 -
二维数组中的查找
题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入的第一行为两个整数m和n(1 输入的第二行包括一个整数t(1 接下来的m行,每行有n个数,代表题目所给出的m行n列的矩阵(矩阵如题目描述所示,每一原创 2014-09-27 01:50:49 · 1330 阅读 · 2 评论 -
算法精解(一)——插入排序
插入排序实现,c语言原创 2014-09-17 00:20:38 · 1030 阅读 · 0 评论 -
算法精解(二)——快速排序
// 快速排序 // O(n^2), 但是如果middle取得比较好的话,时间复杂度为O(nlogn) // 所以普遍认为是nlogn // 不需要额外的存储空间,是一般情况下最好的排序方法。 #include "sort.h" int partition(void *data, int size, int esize, int i, int k, int (*compare)(co原创 2014-09-17 00:24:41 · 391 阅读 · 0 评论 -
算法精解(一)—— 插入排序
插入排序实现,c语言原创 2014-09-17 00:18:57 · 173 阅读 · 0 评论 -
替换空格
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 输入: 每个输入文件仅包含一组测试样例。 对于每组测试案例,输入一行代表要处理的字符串。 输出: 对应每个测试案例,出经过处理后的字符串。 样例输入: We Are Happ原创 2014-09-28 23:51:30 · 456 阅读 · 0 评论 -
从尾到头打印链表
// // main.c // 从尾到头打印链表 // // Created by 李亚坤 on 14-9-29. // Copyright (c) 2014年 李亚坤. All rights reserved. // #include typedef struct ListElmt_ //链表元素声明 { void *data; struct ListElmt原创 2014-09-30 00:06:53 · 688 阅读 · 0 评论 -
旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入的第一行为一个整数n(1:代表旋转数组的元素个数。 输入的第二行包括n个整数,其中每个整数a的范围是(1。原创 2014-10-13 00:54:10 · 748 阅读 · 0 评论