![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 68
Alsnoa
这个作者很懒,什么都没留下…
展开
-
单链表操作
include<stdio.h> #include<stdlib.h> #include<string.h> typedef char LinkType; typedef struct LinkNode { LinkType data; struct LinkNode* next; } LinkNode; /** * ...原创 2018-03-25 20:52:51 · 113 阅读 · 0 评论 -
位图相关代码实现
bitmap.h pragma once #include <stddef.h> #include<inttypes.h> typedef struct BitMap { uint64_t* data; size_t capacity; // max bit } BitMap; void BitMapIni...原创 2018-07-16 19:42:47 · 432 阅读 · 0 评论 -
哈希表(开散列)
HashOpen.h#pragma once #include<stddef.h> size_t HashMaxSize=1000; typedef int KeyType; typedef int ValType; typedef size_t (*HashFunc)(KeyType key); typedef struct HashElem...原创 2018-06-19 21:49:14 · 385 阅读 · 0 评论 -
哈希表闭散列(代码实现)
HashClose.h#pragma once #include <stddef.h> size_t HashMaxSize=1000; typedef enum Stat { Empty, Valid, Invalid // 当前元素被删除了 } Stat; typedef int KeyType; typedef int ValType;...原创 2018-06-19 21:45:27 · 405 阅读 · 0 评论 -
二叉树
引用文件stack_seq.h #pragma once #include<stdlib.h> #include"binary_tree.h" typedef TreeNode* TypeStack; typedef struct SeqStack { TypeStack* data; size_t size; size_t capacity; ...原创 2018-05-15 18:20:47 · 142 阅读 · 0 评论 -
顺序队列和链式队列
queue_seq.h#pragma once #define MaxSize 1024 typedef char TypeQueue; typedef struct SeqQueue { TypeQueue data[MaxSize]; int front; int rear; }SeqQueue; void SeqQueuePush(SeqQueue* se...原创 2018-05-06 20:07:52 · 469 阅读 · 0 评论 -
顺序栈和链式栈的实现
stack_seq.h#pragma once #define MaxStack 1000 typedef char TypeStack; typedef struct SeqStack { TypeStack data[MaxStack]; TypeStack *top; size_t stacksize; }SeqStack; void InitSeqSt...原创 2018-05-06 18:33:28 · 463 阅读 · 0 评论 -
栈和队列笔试题
两种方式实现最小栈minstack.c 引用 stcak_seq.h(详见栈的实现文章)https://blog.csdn.net/Alsnoa/article/details/80216882#include<stdio.h> #include"stack_seq.h" #define TEST_HEADER printf("==================%s========...原创 2018-05-11 20:07:16 · 343 阅读 · 0 评论 -
带头结点带环的双向链表
#pragma once typedef char DLinkType; typedef struct DLinkNode { DLinkType data; struct DLinkNode* next; struct DLinkNode* prev; } DLinkNode; void DLinkListInit(DLinkNode** head); DLinkNode...原创 2018-05-05 12:30:49 · 171 阅读 · 0 评论 -
二叉搜索树--递归和循环实现
search_tree.h //实现二叉搜索树的递归和非递归版本 #pragma once #include<stddef.h> typedef char SearchTreeType; typedef struct SearchTreeNode { SearchTreeType key; // 关键码 struct SearchTreeNode* lch...原创 2018-05-17 12:51:10 · 266 阅读 · 0 评论 -
堆
heap.h// 1. 堆是一个完全二叉树 // 2. 堆有两种, 一种叫小堆(小根堆, 最小堆), // 一种叫大堆(大根堆, 最大堆). // 3. 以小堆为例, 这个树的根节点是这个树中的最小的元素 // 对于任意一个子树来说, 子树的根节点, 小于左右孩子节点的值. // 4. 以大堆为例, 这个树的根节点是这个树中的最大元素 // 对于任意一个子树来说, 子树的根...原创 2018-05-17 12:46:37 · 152 阅读 · 0 评论 -
链表笔试题1
#include "linkedlist.h" /** * * @brief 逆序打印单链表. * * * * @param head * */ void LinkListReversePrint(LinkNode* head) { if(head==NULL) { return; } Lin...原创 2018-04-20 11:50:42 · 179 阅读 · 0 评论 -
经典的大数据例题
先转载,理解之后再整理。 前言: 1、说明:一般解决大数据问题有两个思路: 1)先将与这道题相关的所有的数据结构进行使用一遍,如果有合适的就直接进行使用 2)如果不能直接使用,一般就要进行哈希切分,然后再使用合适的数据结构进行问题的解决 2、在这里我先来介绍一种常用于大数据问题的方法:哈希切分 1)先估算出要切分的大小 2)然后使用哈希的除留余数法进行各个数据的映射 经典题: ...转载 2018-07-17 17:00:04 · 493 阅读 · 0 评论