数据结构中常见的内部排序算法: 插入排序:直接插入排序、折半插入排序、希尔排序 交换排序:冒泡排序、快速排序 选择排序:简单选择排序、堆排序 归并排序、基数排序、计数排序直接插入排序: 思想:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中,直到全部记录插入完成。 性...
分类:
编程语言 时间:
2015-07-14 13:10:31
阅读次数:
211
二叉排序树(BST):创建、查找、插入与删除
数据结构与算法...
分类:
编程语言 时间:
2015-07-07 01:00:00
阅读次数:
273
重要的不是你用什么开发,而是你在开发什么。程序=算法+数据结构过程=对象+属性+方法+事件程序员的秘诀是:编程、编程、再编程。编程的秘诀是:思索、思索、再思索。自由固不是钱所能买到的,但能够为编程而卖掉。编程为了生活,生活为了编程。不要认为编程是一项任务,其实是一次让人羡慕的机会!编程之乐何处寻,....
分类:
其他好文 时间:
2015-07-05 23:52:09
阅读次数:
116
数据结构绪论数据结构是相互之间存在一种或多种特定关系的数据元素的集合程序设计=数据结构+算法数据结构事实上就是一门研究非数值计算的程序设计问题的操作对象,以及它们之间的关系和操作等相关问题的学科。数据是描述客观事件的符号,是计算机中可以操作的对象,是能被计算机识别,并输入能计算机处理的符号集合,也就...
分类:
编程语言 时间:
2015-07-05 14:57:54
阅读次数:
117
LeetCode题目, 题意:给定一个数组,该数组的主要元素是指的是总数超过数组一半的那个数。方法1:采用”分而治之”的方法,时间复杂度为O(NlogN)O(NlogN)主要思路是:左右两边通过递归求取主要元素后,判断是否相等,相等的话,直接返回该值,否则遍历判断两个元素那个是主要元素。static int majorityelem(vector& nums, int start, int...
分类:
其他好文 时间:
2015-06-27 11:40:03
阅读次数:
99
数据结构中提供了很多查找算法,诸如插值查找,顺序查找,斐波那契查找等。按查找的操作方式分类,分为:静态查找:数据集合稳定,不需要添加,删除元素的查找操作。动态查找:数据集合在查找的过程中,需要同时添加,或者删除元素的查找操作。例如当在维基百科中查找东西,当查找目标不存在时,会提示用户:是否创建一个?...
分类:
编程语言 时间:
2015-06-20 21:58:46
阅读次数:
276
如何平衡性能,合理选择C++STL集装箱?ANSER:首先要搞清楚,假设STL问题,那么问题出在哪里?STL能够简单地觉得就是算法+数据结构,全部容器的算法选择和实现都是经过精心设计和严格測试的,几个主流STL实现都不会有大问题。性能问题通常都出在内存数据操作上,内存操作有三种。内存...
分类:
编程语言 时间:
2015-06-18 14:54:39
阅读次数:
415
对于计算机相关专业的学生来说,我们学习了很多的专业课程,像编程语言、算法、数据结构、编译原理、软件工程等。很多学生都会有这样的疑问:我学了这么多的课程有什么用呢?在工作中有多少会真正被应用到呢?也就是说,大家都觉得理论和实践之间有着不可逾越的鸿沟。邹欣老师的《构建之法:现代软件工程》一书很好地,并....
分类:
其他好文 时间:
2015-06-18 11:07:30
阅读次数:
70
【摘要】最近两个月都在学习 Linux 驱动,中间碰到了很多问题,进度比较缓慢。尽管不是班科出生的,但是还是觉得算法很有必要学一学。因此将数组元素查找作为自己算法开篇的第一篇博客,好好跟着平凡程序员的博客学习,内容基本是拿来主义。
我们可以下面一个数组查找的函数说起。一句一句写起,首先我们开始从最简单的函数构造开始
int find(int array[], int length, int value)
{
int index = 0;
return index;
}
这里看到,查找函数只是一个...
分类:
编程语言 时间:
2015-06-17 16:40:40
阅读次数:
150
如何兼顾性能,合理选择C++STL容器?ANSER:首先要搞清楚,如果STL有性能问题,那么问题出在哪里?STL可以简单地认为就是算法+数据结构,所有容器的算法选择和实现都是经过精心设计和严格测试的,几个主流STL实现都不会有大问题。性能问题通常都出在内存数据操作上,内存操作有三种,内存读取、内存复制和内存分配。所以选择合适容器的依据就是要尽量减少内存操作尤其是复制操作,比如频繁中间插入删除就不要选...
分类:
编程语言 时间:
2015-06-15 13:13:55
阅读次数:
175