随笔分类 - 数据结构
摘要:A星算法笔记 参考:https://blog.csdn.net/hitwhylz/article/details/23089415 [update]我新增了一篇文章,讲述了如何用A星算法实现一个自动吃食物的贪吃蛇小游戏 https://www.cnblogs.com/studentWangqy/p/
阅读全文
摘要:引入 我现在有一份黑名单数据,里面有10000条域名,现在需要编写一个算法,快速判断一个域名在不在这个黑名单里,怎么设计这个算法? 字典树 or 前缀树 前缀树是N叉树的一种 根节点表示空字符串 重要操作是insert和search 参考 https://blog.csdn.net/qq_41967
阅读全文
摘要:单链表的两种写法 视频链接 https://www.youtube.com/watch?v=o8NPllzkFhE 第一种写法(not good tast) #include <stdio.h> struct node { int data; struct node* next; } struct
阅读全文
摘要:前言 这题是大四时,学弟学妹们问我的题目,哈夫曼压缩,也是我当年没有做好的题目,现在是来还债的。 哈夫曼压缩 哈夫曼压缩的本质是“非定长编码”,区别于 ASCII 码这样的定长编码 英文里哈夫曼编码也叫做 lossless data compression algorithm,即最小损失压缩算法 哈
阅读全文
摘要:两个数组的交集2 350. 两个数组的交集 II - 力扣(LeetCode) (leetcode-cn.com) 思路 用 c++ STL 来做 I want to perform a multi-set intersection using C++ - Stack Overflow 使用 set
阅读全文
摘要:大数乘除法 大数乘法 代码 /* 大整数乘法 https://blog.csdn.net/u010983881/article/details/77503519 拟乘法累加 - 改进 思路来源段落链接: https://blog.csdn.net/u010983881/article/details
阅读全文
摘要:计算机能力挑战赛 (24条消息) 2019年全国高校计算机能力挑战赛C++组初赛_Csdn诗人的博客-CSDN博客 2019年全国高校计算机能力挑战赛初赛C语言解答 - dgw博客 - 博客园 (cnblogs.com) 2019年全国高校计算机能力挑战赛 C语言程序设计决赛 - 代码天地 (cod
阅读全文
摘要:国王游戏 算法原理的数学证明 国王の游戏 - 帅到报警 的博客 - 洛谷博客 (luogu.com.cn) 结构体 typedef struct { int left; int right; int mul; }element, * p_element; 排序 C/C++中关于qsort的使用 -
阅读全文
摘要:两数之和 1. 两数之和 - 力扣(LeetCode) (leetcode-cn.com) 相关C++数据结构 unordered_map C++ STL unordered_map容器用法详解 (biancheng.net) insert() 向容器中添加新键值对。 find(key) 查找以 k
阅读全文
摘要:最大连续子数组 53. 最大子序和 - 力扣(LeetCode) (leetcode-cn.com) 我的做法,用前缀和 class Solution { public: int maxSubArray(vector<int>& nums) { int * presum = new int[nums
阅读全文
摘要:十个经典排序算法 快排 /* 快速排序 */ #include <iostream> #include <cstdlib> #define N 6 using namespace std; void quick_sort(int arr[], int begin, int end); void pr
阅读全文
摘要:动手实现hashmap 引入问题 为什么需要hashmap? 我已经知道的数据结构: 数组 链表 数组的优点: 有数组下标,按下标查找快, 由于存储空间连续,插入删除慢 扩容不方便,容易造成空间浪费 链表的优点 传入链表节点,则插入删除快,O(1) 由于没有下标,必须按顺序遍历,按下标查找慢,O(n
阅读全文
摘要:顺时针打印矩阵 问题描述 JZ19 顺时针打印矩阵 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: [[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16]] 则依次打印出数字 [1,2,3,4,8,12,
阅读全文
摘要:反转链表-用二重指针解决 问题引入 输入一个链表,反转链表后,输出新链表的表头 题目:剑指offer-15.反转链表 一般情况下的解决办法 用if处理特殊情况 head为空的情况 只有一个节点的情况 用prev、curr、next来进行游走,维护链表 1 之前是这样的 ListNode* curr
阅读全文
摘要:linus 提到过的单链表删除节点算法 1 问题描述 在TED上做过一次访谈,linus提到了关于编程的品味,他举了一个例子: linus在TED演讲_哔哩哔哩_bilibili 见原视频15'前后 解法1 解法2 这个例子要删掉一个链表的节点项 传入的参数是一个节点的引用 解法1,使用了prev
阅读全文