数据结构
文章平均质量分 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 · 106 阅读 · 0 评论 -
位图相关代码实现
bitmap.hpragma 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 · 418 阅读 · 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 · 382 阅读 · 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 · 398 阅读 · 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 · 139 阅读 · 0 评论 -
顺序队列和链式队列
queue_seq.h#pragma once#define MaxSize 1024typedef char TypeQueue;typedef struct SeqQueue{ TypeQueue data[MaxSize]; int front; int rear;}SeqQueue;void SeqQueuePush(SeqQueue* se...原创 2018-05-06 20:07:52 · 461 阅读 · 0 评论 -
顺序栈和链式栈的实现
stack_seq.h#pragma once#define MaxStack 1000typedef char TypeStack;typedef struct SeqStack{ TypeStack data[MaxStack]; TypeStack *top; size_t stacksize; }SeqStack;void InitSeqSt...原创 2018-05-06 18:33:28 · 452 阅读 · 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 · 339 阅读 · 0 评论 -
带头结点带环的双向链表
#pragma oncetypedef 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 · 163 阅读 · 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 · 254 阅读 · 0 评论 -
堆
heap.h// 1. 堆是一个完全二叉树 // 2. 堆有两种, 一种叫小堆(小根堆, 最小堆), // 一种叫大堆(大根堆, 最大堆). // 3. 以小堆为例, 这个树的根节点是这个树中的最小的元素 // 对于任意一个子树来说, 子树的根节点, 小于左右孩子节点的值. // 4. 以大堆为例, 这个树的根节点是这个树中的最大元素 // 对于任意一个子树来说, 子树的根...原创 2018-05-17 12:46:37 · 143 阅读 · 0 评论 -
链表笔试题1
#include "linkedlist.h"/** * * @brief 逆序打印单链表. * * * * @param head * */ void LinkListReversePrint(LinkNode* head){ if(head==NULL) { return; } Lin...原创 2018-04-20 11:50:42 · 174 阅读 · 0 评论 -
经典的大数据例题
先转载,理解之后再整理。前言:1、说明:一般解决大数据问题有两个思路:1)先将与这道题相关的所有的数据结构进行使用一遍,如果有合适的就直接进行使用2)如果不能直接使用,一般就要进行哈希切分,然后再使用合适的数据结构进行问题的解决2、在这里我先来介绍一种常用于大数据问题的方法:哈希切分1)先估算出要切分的大小2)然后使用哈希的除留余数法进行各个数据的映射 经典题:...转载 2018-07-17 17:00:04 · 455 阅读 · 0 评论