题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字互不相同分析:由后序遍历可以知道最后一个数字是树的根节点,而二叉搜索树的性质可以知道其左边的节点值小于根节点的值,右边的节点值大于根节点的值。由此递归。/*剑指...
分类:
其他好文 时间:
2014-05-22 00:36:31
阅读次数:
305
经典排序算法 - 堆排序Heap
sort堆排序有点小复杂,分成三块第一块,什么是堆,什么是最大堆第二块,怎么将堆调整为最大堆,这部分是重点第三块,堆排序介绍第一块,什么是堆,什么是最大堆什么是堆这里的堆(二叉堆),指得不是堆栈的那个堆,而是一种数据结构。堆可以视为一棵完全的二叉树,完全二叉树的一个...
分类:
其他好文 时间:
2014-05-22 00:05:09
阅读次数:
319
结构化查询语言简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有...
分类:
其他好文 时间:
2014-05-21 20:59:29
阅读次数:
328
常见排序算法主要有:插入排序(直接插入排序、希尔排序)选择排序(直接选择排序、堆排序)交换排序(冒泡排序、快速排序)归并排序基数排序外部排序一.直接插入排序算法思想:在一个待排序列中,从第二个元素开始,依次进行排序,每次都将待排序元素从后往前,依次与前面的元素进行比较,从而将带排序元素移动到一个合适...
分类:
其他好文 时间:
2014-05-21 20:03:36
阅读次数:
353
堆栈和队列是最基本的两个ADT,简单但是重要。先讲堆栈在计算机中的应用。堆栈:1.用于符号匹配。在编译器的语法检查中,一个过程就是检查各种括号是否匹配,比如
([]) ,这就是匹配的,而 {[}] 就不匹配了。可以用堆栈来实现括号匹配。具体算法如下:建立一个空的堆栈。 while( 文件没有结...
分类:
其他好文 时间:
2014-05-21 19:52:47
阅读次数:
348
HASH表原理大家都知道,在所有的线性数据结构中,数组的定位速度最快,因为它可通过数组下标直接定位到相应的数组空间,就不需要一个个查找。而哈希表就是利用数组这个能够快速定位数据的结构解决以上的问题的。
具体如何做呢?大家是否有注意到前面说的话:“数组可以通过下标直接定位到相应的空间”,对就是这句,哈...
分类:
其他好文 时间:
2014-05-21 18:39:50
阅读次数:
228
/// /// 步骤: /// 1.记录当前待排元素 /// 2.标记顺序表有序查找区域下界和上界
/// 3.在顺序表有序查找区域中折半查找等待排序元素的位置 /// 4.把顺序表有序查找区域的某些元素后移一位,以空出位置给等待排序的元素 ///
5.在空出的位置填写当前排序元素 ...
分类:
其他好文 时间:
2014-05-21 17:18:45
阅读次数:
215
第4章 组织程序和数据
从前面的学习中,我们可以发现程序并不是我们所想的那么简短,他们都有一个共同的特性,那就是
1)都能解决某些特定类型的问题
2)与其他的大多数工具都互相独立
3)都具有一个自己的名称
C++中提供两种基本的方法来让我们组织大型的程序,函数(子程序)和数据结构。
1、组织计算
1)计算总成绩
子函数grade
//根据学生的期中考试、期末考试、家庭作...
分类:
编程语言 时间:
2014-05-21 10:50:28
阅读次数:
386
#include "STC12C5A.H"
#define TIMER_RELOAD() {TL0=0x00;TH0=0xC4;}//使能T/C
初始10ms
#define MAX_TASKS 8 //任务槽最大个数.
unsigned char idata task_stack[MAX_TASKS][2];//任务堆栈. PC指针为16位,需2个字节。
unsi...
分类:
编程语言 时间:
2014-05-21 08:12:12
阅读次数:
285
经典排序算法:堆排序法 让算法会说话,让程序自己告诉我们怎么回事.........
分类:
其他好文 时间:
2014-05-21 06:43:20
阅读次数:
231