博客专栏  >  编程语言   >  数据结构

数据结构

数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。

关注
1 已关注
24篇博文
  • 排序(二)非比较排序

    七大排序那篇博客讲的排序都是比较排序,这篇博客要写的内容是不需要通过比较就可以排序。 1.计数排序 2.基数排序

    2017-01-02 22:48
    180
  • 二叉树的相关面试题 <三>---------二叉树的镜像

    题目:输入一个二叉树,输出它的镜像。 解题思路:求树的镜像就是遍历树的同时交换非叶子节点的左右节点。 前序遍历,当当前节点的左右子树节点不为空时,交换左右节点。 原图为: 镜像和原图对比图为:

    2017-01-03 23:34
    369
  • RBTree----红黑树

    1.概念:         红黑树是一颗二叉搜索树,它在每一个节点上增加了一个存储位来表示节点的颜色(红/黑)。红黑树保证最长路径不超过最短路径的2倍,因而近似于平衡。 2.性质:       ...

    2016-11-02 18:04
    93
  • 哈希表(散列表)的实现

    1.概念:是根据关键字(key)而直接访问在内存存储位置的数据结构。 它通过一个关键值的函数将所需的数据映射到表中的位置来访问数据,这个映射函数叫做散列函数,存放记录的数组叫做散列表。 2...

    2016-11-09 21:54
    233
  • B树(平衡多路查找树)

    1. B树是一种平衡的多路查找树,其中每一个节点的孩子数可以多于2个,且每一个节点可以存储多个元素。 2. 节点最大的孩子数目称为B树的阶。 一个M阶的B树具有以下属性:     . 如果根节点不...

    2016-11-13 20:55
    208
  • 七大排序

    排序的分类: ps:我在这里实现的排序算法,都是用数组来实现的。 1.插入排序 基本思想:将一个数插入到已排好序的数组中,从而得到一个新的,个数加1的数组。 ps:index为要插入的...

    2016-11-24 00:12
    151
  • 小米面试题------朋友圈问题

    题目描述:假如已知有n个人和m对好友关系(存于数字r),如果两人是直接或间接好友(好友的好友的好友....),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共有多少个朋友圈。 例如:n=5,m...

    2016-11-27 21:48
    169
  • 二叉树相关的面试题<一>

    1.判断B是否为A的子结构 2.判断一颗二叉树是否为完全二叉树

    2016-12-24 21:03
    121
  • 二叉树的相关面试题<二>

    1.求二叉树中最远的两个节点的 2.求两个节点最近的公共祖先

    2016-12-29 20:29
    93
  • 二叉树的相关面试题<三>-----二叉树中和为某一的路径

    题目:输入一颗二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路劲。 void PrintNodeEqualInt() { int num; cout<<"输入一个整数:"<>n...

    2016-12-31 21:33
    460
  • 链表面试题(一)

    这篇文章是在上一篇的基础上完成的 1.删除无头链表的非尾结点。   解题思路:因为不知道pos的前一个结点,所以只能删除pos的后一个结点。                      首先,把p...

    2016-06-20 20:53
    108
  • 走迷宫问题

    1.这个是迷宫,1代表墙,0代表通路。 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 ...

    2016-10-10 22:35
    110
  • 用迭代器实现list的各种功能

    #include #include #include #include using namespace std; template struct _ListNode { _ListNode* _p...

    2016-10-11 15:46
    312
  • 栈和队列面试题

    1.实现一个栈,要求实现Push(入栈),Pop(出栈),Min(返回最小值得操作)的时间复杂度为 O(1) 思路:用已有的栈来完成时间复杂度为O(1)的栈 datastack  数据栈 pu...

    2016-10-11 16:16
    228
  • 堆---heap

    堆的数据结构是一种数组对象,它可以视为一颗完全二叉树结构。 堆结构的二叉树存储是: 最大堆:每个父节点都大于孩子节点。 最小堆:每个父节点都小于孩子节点。 #include using nam...

    2016-10-12 18:58
    80
  • 递归和非递归遍历二叉树

    #include using namespace std; #include #include #include template struct BinaryTreeNode { BinaryTre...

    2016-10-12 19:13
    81
  • 中序、前序、后序遍历线索化二叉树

    1.二叉树是一种非线性结构,遍历二叉树几乎都是通过递归或用栈辅助实现非递归的遍历,用二叉树作为存储结构时,取到一个节点,只能获取节点的左孩子和右孩子,不能直接得到节点的任一遍历序列的前驱和后继。 2....

    2016-10-14 20:34
    515
  • 堆排序

    堆排序是在堆的基础上排序呢,如果要升序排序就要建大堆,如果要降序排序就要建小堆,时间复杂度为O(N*lgN)。#include using namespace std; #include #inclu...

    2016-10-16 22:42
    112
  • 二叉搜索树

    二叉搜索树的性质: 1. 每个节点都有一个作为搜索依据的关键码(key),所有节点的关键码互不相同。 2. 左子树上所有节点的关键码(key)都小于根节点的关键码(key)。 3. 右子树上所有节点的...

    2016-10-18 18:56
    98
  • 哈夫曼树

    Huffman树,又称为最优二叉树,是加权路径长度最短的二叉树。 【贪心算法】是指在问题求解时,总是做出当前看起来最好的选择。也就是说贪心算法做出的不是整体最优的的选择,而是某种意义上的局部最优解。...

    2016-10-18 19:09
    112

面试题
153320

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部