数据结构与算法
hrl19
这个作者很懒,什么都没留下…
展开
-
二叉查找树节点的查找、插入和删除
二叉查找树常常会考到和使用到,本文练习下它的几个基本操作,即节点的查找、插入和删除及找最大值、最小值等。1,二叉查找树的查找 由于二叉查找树的性质是,每个节点的关键字值大于其左子树的所有节点,同时小于右子树的所有节点。因此查找就可以利用其性质来进行。 实现代码如下:/* node struct */class node{public: int value; n原创 2015-05-27 22:45:31 · 551 阅读 · 0 评论 -
32位int整型数的二进制表示中1的个数
前段时间遇到这个题,现在记录几个实现方法。1,第一个最直观的方法,用一个二进制表示只有1个1的数字去测试整型数的各个位置是否为1:,直接上代码:int bit_count_1(int num){ int flag = 0x1; int count = 0; for (int i = 0; i < 32; ++i) { if (0 != (num & f原创 2015-06-09 21:48:48 · 2695 阅读 · 0 评论 -
基础排序算法练习
今天复习下常用的基础的排序查找算法,主要有冒泡排序、插入排序、选择排序、希尔排序、归并排序、快速排序、堆排序、二分查找。本文记录基本的算法思想和C++实现代码,并记录各算法的时间和空间复杂度。原创 2015-05-19 20:32:42 · 372 阅读 · 0 评论