![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 83
数据结构
丿灬慕容笑笑
这个作者很懒,什么都没留下…
展开
-
跳表
跳表定义:查找:插入:删除:打印:其他函数:复杂度:定义:跳跃表(英文名:Skip List),于 1990 年 William Pugh 发明,是一个可以在有序元素中实现快速查询的数据结构,其插入,查找,删除操作的平均效率都为O(logn)。跳跃表的整体性能可以和二叉查找树(AVL 树,红黑树等)相媲美,其在Redis...原创 2021-02-24 16:10:42 · 313 阅读 · 3 评论 -
布隆过滤器(Bloom filter)
布隆过滤器(Bloom filter) 布隆过滤器的定义: 布隆过...原创 2021-01-16 19:41:16 · 129 阅读 · 1 评论 -
位图
位图1.什么叫位图2.位图的使用方式: 位图的简单实现,3.位图的应用场景。4.位图的缺陷1.什么叫位图位图就是使用一个比特位来进行表示数据存在与否的信息。1个字节有8个位,那么我们每个位就可以表示,是否存在这个数据(0/1)例如:我们如果从0开始,那么上图就可以表示出在这些数据中,存在 1,3,8,10,21,22,23...原创 2021-01-16 17:18:01 · 1719 阅读 · 0 评论 -
哈希算法
哈希1.什么是哈希?2.哈希函数?1.哈希函数的定义: 2.哈希函数的设计原理: 3.常见的哈希函数:3.哈希冲突 1.闭散列:2.开散列:1.什么是哈希? 按照某种方式,将元素与其所在的表格中的存储位置建立一一映射的关系,那么就在查找时,通过改函数可以快速的找到。时间复杂度为O(1)。...原创 2021-01-15 14:36:07 · 1345 阅读 · 0 评论 -
将一个数组中的奇数全部放在偶数的前面
将一个数组中的奇数全部放在偶数的前面题目 : 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有的偶数位于数组的后半部分。看完这个最简单的就是从头到尾的去扫描这个数组,如果发现偶数就拿出来,然后把其他...原创 2019-12-15 21:58:57 · 1700 阅读 · 2 评论 -
二叉树的遍历
二叉树的遍历对于一个二叉树定义如下:typedef char ElemType;#define END '#'typedef struct BtNode { BtNode *leftchild; BtNode *...原创 2019-12-13 13:55:59 · 210 阅读 · 0 评论 -
查找2进制中有多少个1
查找2进制中有多少个1 问题描述:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制是1001,有2位是1.因此如果输入9,该函数输出2. 看到这个题,我们首先可以想到的是位运算,只要...原创 2019-11-07 19:37:52 · 402 阅读 · 0 评论 -
单链表的反转
单链表的反转对于一个单链表,有时我们需要将他们反转过来,那我们将如何将他们反转过来呢?(有头结点的单链表)利用三个指针进行遍历链表,并逐步将链表反转。 利用头插的方法。方法一:代码:Ac...原创 2019-07-16 16:30:44 · 147 阅读 · 0 评论 -
数据结构:叶子节点的个数
#include <conio.h>#include <stdio.h>#include <stdlib.h>#include <math.h>#define MAXLEN 100#define NLAYER 4typedef struct BiTNode { char data; ...原创 2019-05-24 23:36:25 · 3168 阅读 · 0 评论 -
数据结构:图的基本操作
#include<stdio.h>#include<string.h>#include<stdlib.h>#define MaxVertexNum 25#define INF 32767typedef int EdgeType;typedef struct{ char citys[MaxVertexNum][10]; EdgeType edg...原创 2019-05-24 23:35:56 · 1903 阅读 · 0 评论 -
判断单链表是否有环并找到环的入口等问题
判断单链表是否有环并找到环的入口等问题假设一个单链表有环,他就是下面的这种情况:我们有下面几个问题:1.给一个单链表,判断其中是否有环的存在;2.如果存在环,找出环的入口点;3.如果存在环,求出环上节点的个数;4.如果存在环,求出链表的长度;对于这些问题有一种方法就是...原创 2019-04-12 23:54:28 · 7485 阅读 · 1 评论 -
数据结构:建立二叉树
#include<iostream>#include<stdlib.h>#define max 100using namespace std;typedef struct bnode{ char data; int ltag, rtag; struct bnode *lchild, *rchild;}Bnode, *BTree;BTree Q[max...原创 2019-05-24 23:31:38 · 511 阅读 · 0 评论 -
创建二叉树
创建二叉树方法如下:直接输入创建; 字符串传入创建; 根据中序和先序遍历创建; 根据中序和后序遍历创建。对于一个二叉树,定义如下:typedef char ElemType;#define END '#'...原创 2020-02-19 13:40:46 · 226 阅读 · 0 评论 -
快速排序—非递归、链表
快速排序—非递归、链表对于快速排序相信大家都非常的清楚,对于越有序的数据,时间复杂度就越大。对于快排,时间复杂度为O(nlogn),空间复杂度为O(nlogn),是一种不稳定的排序算法。对于递归的实现方法,在上篇博客中有,我们在这就不做介绍,我们就看一下,当我们的数据越有序的时候,时间复杂度就会越高,那怎么办呢,我们就可以采取以下的几种方...原创 2020-03-13 08:26:38 · 303 阅读 · 0 评论 -
找到数组中任意小数据及间隔最小 数据
找到一组数字中,第k小的数字这个题目是:给定一个数组,找到数组中任意第k小的数字。看完这个题目,我想到的就是我把这个数组,进行排序。这时候我们想要第几小就可以得到第几小了哈,是不是很方便。在选择的排序算法的时候我们尽量选择堆排序和选择排序,为什么呢?因为这两个排序算法,我们不需要将整个数组排序完,我们只需要将需要查找的排序出来就可以...原创 2020-03-13 23:35:21 · 474 阅读 · 0 评论 -
排序算法--(插入、选择、快排、冒泡、希尔、堆、归并)
排序算法直接插入排序 希尔排序 简单选择排序 冒泡排序 快速排序 堆排序 归并排序稳定性:排序过程中,有没有跳跃式的交换数据。 排序算法 时间复杂度 辅助空间 ...原创 2019-12-16 21:11:39 · 331 阅读 · 0 评论