码迷,mamicode.com
首页 >  
搜索关键字:数据结构与算法 3:二叉树    ( 1805个结果
常用排序算法之--快速排序
个人认为,数据结构与算法是部分程序员的软肋,而对于非科班出身的程序员来说,更是软肋中的软肋。纠其原因,大部分是因为作为应用层面的程序开发,算法(尤其是查找算法)并不是影响程序性能的最关键的因素。同时作为一个完整的系统,从数据存储到获取都提供了相应的调用接口,如果要获取数据,我们只需要调用外部接口就可...
分类:编程语言   时间:2015-04-12 19:15:42    阅读次数:223
数据结构学习——散列表ADT(程序化)
不知道大家在刚开始看《数据结构与算法分析——C语言描述》散列一章的时候,能不能理解书上的内容,小ZZ看的时候就没怎么看明白。于是就去问度娘,度娘给了我这样一篇文章。里面介绍了散列的基本定义以及常用的实现方法,比较通俗易懂(可能是智商有点拙计)。 http://blog.csdn.net/u010275850/article/details/44963701 先看完了这篇博文,然后再看书上的...
分类:其他好文   时间:2015-04-12 13:28:33    阅读次数:172
HashMap实现原理及源码分析
在数据结构与算法中,给我们介绍了常用的几种数据结构:数组,链表,哈希表。 数组结构:其在内存分配是一段连续的内存空间,可能会占用内存空间严重,空间复杂度很大,时间复杂度小,其优点是易于寻址,但是插入、删除困难。 链表结构:其在内存分配是一系列离散的内存空间,占用内存少,空间复杂度很小,时间复杂度很大,其优点是易于插入和删除,寻址困难。 哈希表:哈希表是集合数组和链表的存储结构,满足寻址方便,易于操作,占用内存空间较小,时间复杂度有较小。其例如下: ...
分类:其他好文   时间:2015-04-11 20:54:44    阅读次数:144
常用排序算法之--直接插入排序
一直以来都是从博客园吸收营养,很想有机会写一些对博友们有用的文章,来回馈大家的无私奉献。最近博主在找工作,听小伙伴们说,数据结构与算法是必考项。于是痛下绝心决定写写排序算法。以备自查,同时与小伙伴们互勉。欢迎大家转载,如有错误,请指正。必感激不尽!学习交流qq:792911374,闲话不说,开始正文...
分类:编程语言   时间:2015-04-11 19:24:30    阅读次数:126
2.7 洗牌算法
出自数据结构与算法分析--C语言描述 习题2.7在有个函数int rand(int n)返回1-n之间的随机数。如何把数组A[N]打乱?最初的Fisher–Yates算法是在另外开辟一个数组B[N],把打算后的A[N]放到B[N]中,步骤如下设i=01、生成1-A.length长度之间的随机数k2、...
分类:编程语言   时间:2015-04-09 19:37:43    阅读次数:148
算法交作业之最大子序列问题
最近看《数据结构与算法分析》一书,书中提供的一些算法太棒了,忍不住动手实现了下。有错误请指出,谢谢。 最大子序列问题求解:1.第一种解法:int MaxSubSequence(const int array[], int length){ if (length < 0) //数组长度不可以为0. return 0; int MaxSum = 0,ThisSum;...
分类:编程语言   时间:2015-04-09 13:45:40    阅读次数:144
数据结构学习——栈的链表实现(程序化)
关于栈的基本概念以及和Catalan数的关系,可以参见我的其他文章 参考资料《数据结构与算法分析——C语言描述》 #include #include /*栈的链表实现*/ typedef struct StackNode { struct StackNode *next; int data; }StackNode,*Stack; Stack CreateStack(...
分类:其他好文   时间:2015-04-08 23:29:30    阅读次数:354
数据结构学习——二叉查找树ADT(程序化)
参考资料:《数据结构与算法分析——C语言描述》4.3一节 #include #include #define N 10 typedef struct BinTreeNode { int data; struct BinTreeNode *left; struct BinTreeNode *right; }BinTreeNode,*BinTree; BinTree in...
分类:其他好文   时间:2015-04-07 21:39:31    阅读次数:133
选择问题——选出第K个最大的元素
最近在读《数据结构与算法分析(C语言描述)》,在优先队列(堆)一节中,作者总结了关于“选择问题——求第k个最大的元素”的几种思路,在此简单总结一下:第一种将这NN个数读进一个数组中,再通过某种简单的算法,比如冒泡排序、选择排序等,以递减顺序将数组进行排序,然后返回位置kk上的元素。假设使用最简单的排序算法,则运行时间为O(N2)O(N^2)第二种这是对第一种算法的简单优化。申请一个大小为kk的数组,...
分类:其他好文   时间:2015-04-06 17:16:51    阅读次数:132
javascript数据结构与算法---检索算法
javascript数据结构与算法---检索算法
分类:编程语言   时间:2015-04-03 22:15:53    阅读次数:221
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!