摘要: 这是图论中的一个问题,基本概念可以参照百度百科 http://baike.baidu.com/link?url=UT6VdWmNgZ6ZGJQwlTg3MuzUHBMlMIyYbQgfSDwY7V4kBoklD2oj-oReNVxXIr1OAlMxVLEls4wk82kRrN7dCq 最小生成树就是 阅读全文
posted @ 2015-08-22 21:36 lvmememe 阅读(267) 评论(1) 推荐(0) 编辑
摘要: 堆排序用到的是完全二叉树的性质,所以在看这篇文章之前先学习完全二叉树。http://baike.baidu.com/link?url=HUZLyRNtNhAUzf7rgffW3IHkPbNQF_0vO63EvTKZBgYztrMz02B2_-PlCV5eFg6J8y8w8sHEu4Bd7bZVOXo... 阅读全文
posted @ 2015-08-22 14:05 lvmememe 阅读(330) 评论(2) 推荐(0) 编辑
摘要: 二叉排序树与快排的思想差不多,只不过这里用到了二叉树的数据结构。对于这个二叉树满足,每个节点都满足左子树每个值都比它小,右子树每个值都比它大。这样,中序遍历这个树就可以得到升序结果。 这里可以看出,关键问题是,怎么把一个结点插入到他应该在的位置,实现二叉排序树的构建过程。用到的是一个递归操作。代码... 阅读全文
posted @ 2015-08-22 13:45 lvmememe 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 其实如果理解了快排的原理,双关键字快排其实是很简单的。因为快排的思想是在待排序序列中选取一个记录,让它左边的都小于等于它,右边的都大于等于它,如此递归。那么双关键字的思想就顺其自然:在待排序序列中选取一个记录,让它左边的第一关键字小于它,或者第一关键字等于它但是第二关键字小于它;右边的第一关键字大于... 阅读全文
posted @ 2015-08-22 13:11 lvmememe 阅读(1448) 评论(0) 推荐(0) 编辑
摘要: C语言使用快排的方式有两种,1、直接用库函数stdlib.h里的qsort函数 2、自己编写快排代码(第一种方便,第二种较为自由)qsort 的函数原型是:void qsort(void*base,size_t num,size_t width,int(__cdecl*compare)(const ... 阅读全文
posted @ 2015-08-22 13:02 lvmememe 阅读(4944) 评论(0) 推荐(0) 编辑
摘要: 输入中缀表达式输出结果(结果可以是小数,但输入必须是整数) 1 #include 2 #include //需要两个栈,一个储存结果,一个储存运算符 3 #define newpc (stype *)malloc(sizeof(stype)) 4 #define newpi (intt... 阅读全文
posted @ 2015-08-22 12:18 lvmememe 阅读(1455) 评论(0) 推荐(0) 编辑
摘要: 这里要学的程序主要用来实现一个功能——输入表达式输出结果,也就是一个计算器。效果如下:这个程序主要有两个步骤:1、把中缀表达式转换为后缀表达式;2、计算后缀表达式的结果。首先先明白几个问题:1、为什么要转换为后缀表达式?因为后缀表达式容易实现计算机计算结果。(可以百度一下后缀表达式,又称逆波兰式)2... 阅读全文
posted @ 2015-08-22 12:15 lvmememe 阅读(6253) 评论(0) 推荐(1) 编辑