数据结构
文章平均质量分 71
yulian529
这个作者很懒,什么都没留下…
展开
-
冒泡排序、插入排序、交换排序
本文介绍复杂度为O(N^2)的三种排序:冒泡、插入以及交换,还有插入排序的变种希尔排序;冒泡排序:(时间复杂度固定,恒为O(N^2)void BubbleSort(int a[], int n){ for (int i = 0; i < n-1; i++) for (int j = 0; j < n-i-1; j++) if (a[原创 2016-04-13 14:36:38 · 400 阅读 · 0 评论 -
二叉树前、中、后序遍历(递归与非递归)
树节点结构体:struct TreeNode{ int val; TreeNode *left; TreeNode *right;};递归建立二叉树:TreeNode *createTree(){ TreeNode *root; int x; scanf("%d", &x); if (x == -1翻译 2016-03-27 21:33:14 · 269 阅读 · 0 评论 -
字符串处理函数strcpy(), strcat(), strcmp()的输入输出
1,strcpy 函数函数原型:char *strcpy(char *dst, const char *src){ assert(dst != NULL && src != NULL); char *p = dst; while ((*dst++ = *src++) != '\0'); return p;}输出:输入的dst地址;2,原创 2016-06-21 21:25:20 · 739 阅读 · 0 评论 -
快速排序、堆排序、归并排序
常见排序有7种:冒泡排序、希尔排序、插入排序、选择排序、快速排序、堆排序、归并排序。此处讨论后三种时间复杂度为O(NlogN)的算法。1,快速排序一般情况下,快速排序迭代(或递归)次数为logN,每次恒进行N次比较;最差情况下迭代N次;Partition部分:int Partion(int a[], int low, int high){ int i = low;原创 2016-03-28 12:50:21 · 362 阅读 · 0 评论