自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 大数据处理堆实现N个数据找K个最大数据和堆排序

在N个数据中找K个最大数据思想:用堆实现找最大的数据,则先建立一个N个数据中其前K个节点的最小堆,将没进入最小堆的节点依次与小堆的头节点比较,若大于头节点,则替换两个值,并且调用向下调整算法(其思想前面博客已经介绍实现),直到N个数据比较完成,此时最小堆中的K个节点即为N个数据中的K个最大数据。在代码中为了方便测试N与K的值较小。堆排序思想:即建立一个堆来实现排序,升序与降序思想基本相同,

2016-12-31 15:10:25 2676

原创 大小堆的实现与实现优先级队列

堆:可视为一棵完全二叉树结构,最小堆每个父节点都小于孩子结点,最大堆每个父节点都大于孩子结点。建堆思想:实现向下调整算法AdjustDown():即当一个节点的左子树和右子树都已为最大堆或最小堆(在这里则寻找树倒着走的第一个非叶子结点,依次进行调整),比较其左右孩子结点满足大堆或小堆要求的节点,再与此节点比较,若孩子结点大,满足大堆交换两节点值,或小堆,孩子结点小则交换。大堆与小堆思想基本相同

2016-12-31 14:44:48 1084

原创 STL容器中list与迭代器iterator的模拟实现

list在容器中结构是有一个头结点_head,头结点指向第一个结点,尾结点指向头结点,它为双向循环链表,在其中它有自己的迭代器可以类似于智能指针,用于数据的访问和算法的配合。代码实现:#include #include #include #include using namespace std;template struct _ListNode //结点结构{ T

2016-12-30 16:03:55 2048

原创 面试题atoi的模拟实现

atoi函数:用来把一个字符串转换为整数,在模拟实现应注意以下几点:1.检查字符串是否为空字符串;2.区分空字符串与0字符返回值结果,这里用一个全局变量globle来区分;3.考虑字符串的合法输入,如‘+’'-'号(并能区分),‘1~9’字符为合法输入;4.考虑计算过程中的溢出。代码实现:#include #include #include using namespa

2016-12-30 12:12:17 779

原创 单链表的面试题系列

在这里简单实现了单链表的基本操作,重点实现单链表的各种面试题。代码如下:头文件LinkList.h:#ifndef __LinkList_H__#define __LinkList_H__#include #include #include #include typedef int DataType;typedef struct Node{ DataType dat

2016-12-30 11:32:40 1024

原创 动态顺序表的实现

对顺序表的动态开辟空间实现,并对顺序表进行操作,实现增删查改排序等一系列操作。代码实现:头文件SeqList.h:#include #include #include #include typedef int DataType;#define MAX_SIZE 3 //初始顺序表大小#define INC_SZ 3 //每次增容大小typedef s

2016-12-30 11:22:04 1107

原创 二叉树递归与非递归遍历实现

二叉树:将一数组创建二叉树,四种遍历方法:前序,中序,后序,层次遍历,与求不同情况下的结点个数等。代码实现:#include #include #include #include #include using namespace std;template struct BinaryTreeNode{ T _data; BinaryTreeNode *_left; B

2016-12-29 22:54:28 1876

原创 对称矩阵和稀疏矩阵的压缩和转置

对称矩阵:N*N方阵A,特点Aij=Aji,对角线分割为上三角和下三角,压缩存储只需存储下三角数据。稀疏矩阵:矩阵中有效数据很少,在存储时只存储有效数据,非法数据不存,在实现中创建一个结构体表示一个有效数据,并以行优先级先后顺序依次存放,并对稀疏矩阵实现转置和快速转置。代码实现:#include #include #include #include using namespac

2016-12-29 22:34:58 1159

原创 关于栈与递归求解迷宫与迷宫最短路径问题

一、栈实现迷宫问题:问题描述:用一个二维数组模拟迷宫,其中1为墙,0为通路,用栈方法判断迷宫是否有出口,下图为简单模拟的迷宫:思想:1.首先给出入口点,如上图入口点坐标为{2,0};2.从入口点出发,在其上下左右四个方向试探,若为通路(值为0)时,则向前走,并将每次通路结点入栈(push)保存和标记走过的路为2;3.当四个方向都没有通路时,则开始回溯,将栈中保存的结点开

2016-12-03 13:11:24 3975

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除