编程题
文章平均质量分 79
wzgang123
Thinking more, Less Copy & Paste
展开
-
堆及堆排序
1、二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。当父结点的键值总是小于或等于任何一个子节点的键值时为最小堆。下图展示一个最小堆:原创 2014-11-02 14:19:22 · 529 阅读 · 0 评论 -
寻找数组最大K个数
1、问题描述给定一个数组原创 2014-11-02 16:45:30 · 702 阅读 · 0 评论 -
整型数其二进制表示中”1“的个数
初看这个题目,给人的第一感觉是要把整数转化成二进制表示,然后在原创 2014-11-02 10:56:45 · 664 阅读 · 0 评论 -
快速排序
快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)原创 2014-11-02 13:18:31 · 458 阅读 · 0 评论 -
归并排序
1、归并排序归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。原创 2014-11-02 14:54:40 · 532 阅读 · 0 评论