sl数据结构学习笔记
数据结构学习笔记C++实现
try my best c
这个作者很懒,什么都没留下…
展开
-
21_大数据查重-位图
理论讲解代码实现#include <iostream>#include <vector>#include <stdlib.h>#include <time.h>#include <memory>using namespace std;/*有1亿个整数,最大值不超过1亿,问都有哪些元素重复了?谁是第一个重复的?谁是第一个不重复的(1个位保存数据的状态,2个位保存数据的状态)? 内存限制100M1亿 = 100M100M原创 2022-03-15 11:01:17 · 87 阅读 · 0 评论 -
22_布隆过滤器
##理论讲解##代码实现#include <iostream>#include <vector>#include "stringhash.h"#include <string>using namespace std;// 布隆过滤器实现class BloomFilter{public: BloomFilter(int bitSize = 1471) : bitSize_(bitSize) { bitM原创 2022-03-15 10:58:44 · 69 阅读 · 0 评论 -
24_大数据top k-快排分割
大数topk分割代码实现原创 2022-03-15 10:56:06 · 3605 阅读 · 0 评论 -
25_一致性哈希算法
一致性哈希算法,C++代码的实现原创 2022-03-15 10:49:36 · 77 阅读 · 0 评论 -
09_链式队列
理论讲解代码实现#include <iostream>using namespace std;// 链式队列class LinkQueue{public: LinkQueue() { head_ = new Node(); head_->next_ = head_; head_->pre_ = head_; } ~LinkQueue() { Node* p = head_->next_; while (p != head_)原创 2022-03-14 16:32:38 · 59 阅读 · 0 评论 -
11_基础排序
理论讲解代码实现#include <iostream>#include <stdlib.h>#include <time.h>using namespace std;// 冒泡排序算法void BubbleSort(int arr[], int size){ for (int i = 0; i < size-1; i++) // 趟数 O(n) * O(n) = O(n^2) { bool flag = false; // 一趟原创 2022-03-14 16:30:14 · 1053 阅读 · 0 评论 -
19_链式哈希表
理论讲解代码实现#include <iostream>#include <vector>#include <list>#include <algorithm>using namespace std;// 链式哈希表class HashTable{public: HashTable(int size = primes_[0], double loadFactor = 0.75) : useBucketNum_(0) , loa原创 2022-03-14 16:28:22 · 110 阅读 · 0 评论 -
18_线性探测哈希表
理论讲解代码实现#include <iostream>using namespace std;// 桶的状态enum State{ STATE_UNUSE, // 从未使用过的桶 STATE_USING, // 正在使用的桶 STATE_DEL, // 元素被删除了的桶};// 桶的类型struct Bucket{ Bucket(int key = 0, State state = STATE_UNUSE) : key_(key) , state_原创 2022-03-14 16:26:54 · 101 阅读 · 0 评论 -
39图的代码实现
理论讲解代码实现#include <iostream>#include <string>#include <vector>#include <list>#include <queue>using namespace std;// 实现一个有向图的邻接表结构class Digraph{public: // 从配置文件读入顶点和边的信息,生成邻接表 void readFile(string filePath)原创 2022-03-14 15:51:10 · 60 阅读 · 0 评论 -
37倒排索引
// 37_倒排索引.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include <string>#include <list>#include <vector>#include <unordered_map>#include <algorithm>using namespace std;#undef UNICODE#include &...原创 2022-03-14 15:46:06 · 79 阅读 · 0 评论 -
30跳跃表
跳跃表(快表得代码实现和原理)原创 2022-03-14 15:38:31 · 297 阅读 · 0 评论 -
36字典树代码实现
理论讲解代码实现#include <iostream>#include <string>#include <map>#include <vector>#include <queue>using namespace std;// Trie字典树class TrieTree{public: TrieTree() { root_ = new TrieNode('\0', 0); } ~TrieTree() {原创 2022-03-14 15:35:49 · 77 阅读 · 0 评论 -
21大数查重位图法代码实现
// 21_大数据查重-位图.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include <vector>#include <stdlib.h>#include <time.h>#include <memory>using namespace std;/*有1亿个整数,最大值不超过1亿,问都有哪些元素重复了?谁是第一个重复的?谁是第一个不重复的(1个位保.原创 2022-03-14 15:33:33 · 368 阅读 · 0 评论 -
04_双向链表
// 04_双向链表.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>using namespace std;// 定义双向链表的节点类型struct Node{ Node(int data = 0) : data_(data) , next_(nullptr) , pre_(nullptr) {} int data_; // 数据域 Node* next_; // 指向下一个节点 Nod原创 2022-03-14 15:31:55 · 2035 阅读 · 0 评论 -
10二分搜索
理论讲解非递归代码实现// 二分搜索的非递归实现int BinarySearch(int arr[],int size,int val){ int first=0; int last=size-1; while(first<=last) { int mid=(first+last)/2; if(arr[mid]==val) { return mid; } e原创 2022-03-08 22:35:17 · 54 阅读 · 0 评论 -
40floyd算法
理论讲解代码实现#include<iostream>#include<vector>#include<math.h>using namespace std;using uint=unsigned int;const int INF= INT32_MAX;int main(void){ vector<vector<uint>> graph= { {0,6,3,INF,INF,INF},原创 2022-03-08 22:12:54 · 70 阅读 · 0 评论 -
39Dijkstra算法的实现
理论讲解代码实现#include<iostream>#include<vector>using namespace std;using uint=unsigned int;const int INF= INT32_MAX;// 迪杰是斯拉算法接口int Dijkstra(vector<vector<uint>> &graph, int start, //起点原创 2022-03-08 21:42:25 · 80 阅读 · 0 评论 -
哈夫曼编码
哈夫曼编码理论代码实现#include<iostream>#include<unordered_map>#include<queue>#include<string>#include<functional>using namespace std;// 实现哈夫曼树using uint=unsigned int;class HuffmanTree{public: HuffmanTree():minHeap_([原创 2022-03-08 16:49:24 · 116 阅读 · 2 评论