数据结构与算法分析
newrtc
这个作者很懒,什么都没留下…
展开
-
二叉树的遍历
转自:http://www.cnblogs.com/dolphin0520/archive/2011/08/25/2153720.html 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法转载 2013-12-17 16:37:04 · 629 阅读 · 0 评论 -
二叉树的非递归遍历
二叉树的非递归遍历 经过上网查找和深思熟虑,总结了比较容易理解的方法.参考:http://blog.csdn.net/algorithm_only/article/details/6976249 非递归先序 根结点先进栈,访问结点值,左孩子依次进栈,直到最左的孩子进栈。然后栈顶指针出栈,退至上一层,然后访问右子树,右子树访问完成之后,退至上一层,直至栈空,节点访问完成。先序遍历访问结原创 2013-12-18 11:03:52 · 773 阅读 · 0 评论 -
二叉树的实现和遍历
虽然已经从事编程快4年了,但是由于不是科班出身,存在很多的弱点,尤其是最近的开发过程中,一旦遇到复杂点的对应关系就有气无力的,有点时间就补一下基础知识吧。 查找二叉树的实现和几种遍历方法 参考:http://blog.csdn.net/liuhongxiangm/article/details/17379331,数据结构与算法分析c++描述 二叉树实现 #pragma once原创 2013-12-17 16:44:16 · 765 阅读 · 0 评论 -
unordered_map 自定义key
学习数据结构的时候 偶然得知有个unordered_map,以前没有用过,查了查相关内容,据说效率比map高出很多,而且耗资源也少,研究一下 至于具体效率咋样我就不去验证了,网上太多了 参考:http://blog.csdn.net/whizchen/article/details/9286557 关键是 unordered_map与map的区别 boost::unorder原创 2013-12-18 15:56:29 · 20710 阅读 · 0 评论 -
希尔排序
希尔排序(Shell Sort)又称为缩小增量排序,输入插入排序算法,是对直接排序算法的一种改进。本文介绍希尔排序算法。 对于插入排序算法来说,如果原来的数据就是有序的,那么数据就不需要移动,而插入排序算法的效率主要消耗在数据的移动中。因此可知:如果数据的本身就是有序的或者本身基本有序,那么效率就会得到提高。 希尔排序的基本思想是:将需要排序的序列划分成为若干个较小的子转载 2013-12-19 21:55:51 · 845 阅读 · 0 评论 -
快速排序 详解
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。 总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快转载 2013-12-23 10:17:44 · 671 阅读 · 0 评论 -
几种排序方法的实现
#include #include using namespace std; //插入排序 void insert_sort_increase(int *num, int size) { int tmp = 0; int j = 0; for (int i = 1; i < size; i++) { if (num[i] < num[i-1]) { tmp =原创 2013-12-23 10:21:05 · 705 阅读 · 0 评论 -
最小生成树之prim算法
边赋以权值的图称为网或带权图,带权图的生成树也是带权的,生成树T各边的权值总和称为该树的权。 最小生成树(MST):权值最小的生成树。 生成树和最小生成树的应用:要连通n个城市需要n-1条边线路。可以把边上的权值解释为线路的造价。则最小生成树表示使其造价最小的生成树。 构造网的最小生成树必须解决下面两个问题: 1、尽可能选取权值小的边,但不能构成回转载 2013-12-23 21:46:46 · 1039 阅读 · 0 评论 -
八大排序算法
概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内部排序中被认为是最好的方法,转载 2013-12-23 15:24:20 · 8728 阅读 · 0 评论