
数据结构
文章平均质量分 75
tttjp
编程积极分子~~~
展开
-
走迷宫以及求迷宫最优解
走迷宫以及求迷宫最优解原创 2017-05-19 17:16:58 · 639 阅读 · 0 评论 -
单链表经典题目
顺序表便于理解,容易实现;链表不需要事先分配存储空间,每次插入和删除结点时动态的开辟和释放空间,便于存储空间的管理;顺序表事先开辟和随后增加的空间是一块存储位置相邻的连续存储空间,当存储的数据量很大时,内存可能无法找到一块足够大的连续空间予以分配;链表的结点之间是通过指针连接,在内存中可以分散存储,可提高存储空间利用率。原创 2017-07-10 22:16:06 · 1585 阅读 · 0 评论 -
STL源码剖析——空间配置器
最近拜读了侯捷的《STL源码剖析》一书的前三章内容,很是受教,遂以博客记录之,愿与大家交流分享。碍于鄙人才疏学浅,加之目前水平有限,若有差错,还望不吝赐教。原创 2017-07-30 21:48:49 · 323 阅读 · 0 评论 -
栈和队列经典题目汇总
1. 实现一个栈,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1) 2. 使用两个栈实现一个队列 3. 使用两个队列实现一个栈 4. 元素出栈、入栈顺序的合法性。如入栈的序列(1,2,3,4,5),出栈序列为(4,5,3,2,1) 5. 一个数组实现两个栈原创 2017-07-22 15:33:41 · 5068 阅读 · 0 评论 -
排序——选择排序
基本思想每一趟从无序区中选出最小的元素,顺序放在有序区的最后,直到全部元素排序完毕。 由于选择排序每一趟总是从无序区中选出全局最小(或最大)的元素,所以适用于从大量元速度中选择一部分排序元素。例如,从10000个元素中选出最小的前10位元素。直接选择排序1.排序思路从第i趟开始,从当前无序区arr[i…n-1]中选出最小元素arr[k],将它与有序区的最后一个元素,也就是无序区的第一个元素交换。每原创 2017-07-31 21:17:20 · 284 阅读 · 0 评论 -
链表翻转
给出一个链表和一个数k,比如链表1→2→3→4→5→6若k=2,翻转后2→1→4→3→6→5;若k=3,翻转后3→2→1→6→5→4;若k=4,翻转后4→3→2→1→5→6。分析可知链表翻转是链表逆置的升级变形,也可以说链表逆置是链表翻转的一个特殊情况,链表逆置相当于翻转整条链表,链表翻转相当于多次逆置部分链表,再把相应结点连接起来。pNode ReverseList(pNod原创 2017-07-23 16:16:51 · 303 阅读 · 0 评论 -
排序——交换排序
冒泡排序和快速排序原创 2017-08-01 21:52:10 · 314 阅读 · 0 评论 -
二叉树经典题目
1.判断一个节点是否在一棵二叉树中 先判断是否在左子树,若在,则不再去右子树中寻找;若不在,再去右子树中寻找。要注意递归的条件判断原创 2017-08-02 09:36:35 · 704 阅读 · 0 评论 -
排序——归并排序
1.排序思路归并排序可以用分治算法的思想来解决。 分治算法的基本思想:当我们求解某些问题时,由于这些问题要处理的数据相当多,或求解过程相当复杂,使得直接求解法在时间上相当长,或者根本无法直接求出。对于这类问题,我们往往先把它分解成几个子问题,找到求出这几个子问题的解法后,再找到合适的方法,把它们组合成求整个问题的解法。如果这些子问题还较大,难以解决,可以再把它们分成几个更小的子问题,以此类推,直至原创 2017-08-02 22:40:09 · 393 阅读 · 0 评论