
算法
算法
Lionel_Coder
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【面试】算法准备汇总
排序算法冒泡排序快速排序归并排序二叉树二叉树基础知识先序遍历 迭代 递归中序遍历 迭代 递归后序遍历 迭代 递归红黑树、B树、B+树、队列、栈、链表、哈希表搜索算法未知leetcodeLRU...原创 2021-04-22 16:12:32 · 130 阅读 · 0 评论 -
排序算法(信息聚合)
排序算法参考资料排序算法对比关于外部排序原创 2021-04-08 23:26:27 · 337 阅读 · 0 评论 -
输出整数的二进制数
整数转二进制辗转相除法 最早写过位移操作位移操作整数在内存中就是以二进制数存的,实际上可以通过唯一操作来计算每一位的值。取出32位中第N(0<=N<=31)位的值 bit = value &( 1 << N )int Fuuu(int num) { for (int i = 31; i >= 0; i--) { printf("%d",(num & (1 << i)) == 0 ? 0 : 1); } return原创 2021-04-23 11:42:02 · 376 阅读 · 0 评论 -
【排序算法】冒泡排序 【包含XOR进阶写法】
冒泡排序算法思想,一趟比较下来,始终使最大的沉到最下面。这样都比较完了,第一个就是最小的。过于简单,两两比较一轮次比较下来会把较小的数字慢慢浮到上面来。为什么?最小的会在最后?因为两两比较,小的放在后位,对于最小的来说,因为最小会一直被交换…交换…交换…交换…然后就到了最后了。思路假设有5个数字{54321}。 length-1 第一次排序变成 length-i-1 4321 5 进行了4次比较 第二次排序变成 321原创 2021-04-08 23:34:27 · 157 阅读 · 0 评论 -
【排序算法】快排算法
快速排序由来快速排序是对冒泡排序的一种改进。快速排序由一个人在1960年提出。他的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,一次嗲到整个数据变成有序数列。简介突然想起来这些算法我大学学数据结构的时候就写过。然后就忘了。忘得一干二净。算法中首先会在序列中随机选择一个基准值,pivot,然后将除了基准值以外的数分为“比基准数小的数”和“比基准数大的数”,再将其排列成原创 2021-04-08 23:32:18 · 199 阅读 · 0 评论 -
队列的实现
前言队列先进先出,使用链表实现比较方便,这里使用单链表实现。涉及到入队列和出队列两个操作:入队列:使用单链表头插法,入队的节点一直在队列序列的后面出队列:得到倒数第二个节点,将最后一个节点释放空间并删除边界情况:空队列时出队列定义链表结点 template<class T> struct Node { T m_data; struct Node* m_next; Node(T data) :m_data(data), m_next(nullptr) {} };原创 2021-04-06 14:15:48 · 145 阅读 · 0 评论 -
栈的实现
栈在内存中是一块连续的内存。栈的成员包括:容量: size栈顶标识:top栈的内存地址: stacktemplate<class T>class stack {private: int m_size; int m_top T *m_stack;public: stack(int size) :top(0) { m_size = size; stack = new T[size](); } ~stack() { delete stack; sta原创 2021-04-02 11:46:44 · 140 阅读 · 0 评论 -
二分查找算法
二分查找又叫折半查找,这种算法的前提是数据是有序的,从中间开始逐次折半,最后知道找到。时间复杂度是对数时间复杂度,这里我想起来BST二叉搜索树的搜索方法,其实本质上他也是一个使用了二分查找思想的一种算法。面试官在面试的时候,考察到了template<typename T>int bin_find(T* x,int length,int value){ int low = 0,high = length -1,mid; while(low<high){ mid =( low原创 2021-03-30 15:18:27 · 140 阅读 · 0 评论 -
1. 两数之和
题目: 两数之和两数之和已知:整数数组 nums,整数目标值 target,找出和为目标值得两个整数,返回下标。条件:有唯一解,同元素不能重复出现。输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。输入:nums = [3,2,4], target = 6输出:[1,2]解释:因为 nums[1] + nums[2] == 6 ,返回 [1, 2] 。这道题拿过来之后原创 2021-03-23 00:14:02 · 223 阅读 · 2 评论 -
判断素数
前言 记得我刚开始学习OI的时候接触到的最早的算法莫过于素数算法。当然了,素数这个知识小学的时候我们就已经有所学习了。 质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其...转载 2021-03-19 23:40:13 · 339 阅读 · 0 评论