算法
文章平均质量分 84
Oldbowleeeee
这个作者很懒,什么都没留下…
展开
-
数据结构与算法基础(基于python)
用大O法表示运行时间,log都表示log2(以2为底的对数) 所有的算法都是基于python写的一、二分查找法:1、输入:一个有序的元素列表 2、输出:如果要查找的元素包含在列表中,二分查找返回其位置,否则返回NULL. 3、使用二分查找,每次排除一半的数字 4、算法过程:检查中间元素,若小了,就改变low,如果大了就修改high 5、完整代码如下:def...原创 2018-05-10 08:49:20 · 877 阅读 · 0 评论 -
【数据结构与算法(十七)】
二叉树的操作递归问题:把问题递归分解之后逐个解决复杂问题=举简单例子+画图+分解原创 2018-05-27 11:42:03 · 388 阅读 · 0 评论 -
【数据结构与算法(十三)】
大数乘法原创 2018-05-22 20:22:41 · 255 阅读 · 0 评论 -
【数据结构与算法(八)】——递归和循环
第八天打卡 查找、排序;二分查找、归并排序、快速排序;回溯法;递归–栈;动态规划;贪婪算法;位运算(与、或、异或、左移、右移)递归和循环如果没有条件要求限制,尽量多使用递归方法编程。但是在前一天的“函数调用栈”中,说到了函数调用的过程,递归是函数自己调用自己,这样每一次函数调用都需要时间和空间的消耗,都要在内存中分配空间用来保存参数、返回地址和临时变量,而且往栈中压入数据...原创 2018-05-16 20:06:35 · 667 阅读 · 0 评论 -
【数据结构与算法(二十三)】
题目二叉搜索树的第k大节点给定一个二叉搜索树,请找出其中第k大的节点。例如,在下图的二叉搜索树里,按节点数值大小顺序,第三大节点的值是4 思路1、如果按照中序遍历的顺序遍历一棵二叉搜索树,则遍历序列的数值是递增排序的。例如,在上图中二叉搜索树的中序遍历序列是{2,3,4,5,6,7,8}。因此,只需要用中序遍历算法遍历一棵二叉搜索树,就可以找出它的第k大节点。struct...原创 2018-06-04 08:32:04 · 256 阅读 · 0 评论 -
【数据结构与算法(十八)】
字符串的排列原创 2018-05-28 13:56:27 · 391 阅读 · 0 评论 -
【数据结构与算法(十四)】
代码的可重用性——解耦正则表达式的实现原创 2018-05-24 11:51:20 · 255 阅读 · 0 评论 -
【数据结构与算法(十九)】
数据流中的中位数连续子数组的最大和1~n整数中1出现的次数一定要解决红黑树是什么??这个问题 ——5.28原创 2018-05-29 14:54:20 · 350 阅读 · 0 评论 -
【数据结构与算法(二十)】
把数字翻译成字符串把数组排成最小的数数字序列中某一位的数字原创 2018-05-30 14:30:18 · 334 阅读 · 0 评论 -
【数据结构与算法(二十四)】
题目滑动窗口的最大值给定一个数组和滑动窗口的大小,请找出所有滑动窗口里的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,它们的最大值分别为{4,4,6,6,6,5}思路1、一个滑动窗口可以看成一个队列。当窗口滑动时,处于窗口的第一个数字被删除,同时在窗口的末尾添加一个新的数字。这符合队列“先进先出”特性。 2、题意...原创 2018-06-06 19:49:32 · 286 阅读 · 0 评论 -
【数据结构与算法(二十五)】
求1+2+……+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(?:)解法1:利用构造函数求解解法2:利用虚函数求解解法3:利用函数指针求解解法4:利用模板类求解原创 2018-06-07 10:37:46 · 294 阅读 · 0 评论 -
【数据结构与算法(二十一)】
礼物的最大价值最长不含重复字符的子字符串丑数原创 2018-05-31 11:53:34 · 268 阅读 · 0 评论 -
【数据结构与算法(二十六)】
构建乘积数组C++枚举enum原创 2018-06-08 09:03:42 · 556 阅读 · 0 评论 -
【数据结构与算法(二十七)】
找树的最低祖先节点原创 2018-06-09 09:35:43 · 274 阅读 · 0 评论 -
【数据结构与算法(十六)】
顺时针打印矩阵包含min函数的栈举例让抽象问题具体化问题驱动式学习?是什么?为什么?怎么做?原创 2018-05-26 12:07:00 · 231 阅读 · 0 评论 -
【数据结构与算法(十五)】
链表中环的入口节点二叉树的镜像对称二叉树原创 2018-05-26 00:22:49 · 233 阅读 · 0 评论 -
【数据结构与算法(一)】——数组
这是第一天==> 来自《剑指offer》数组1、最简单的数据结构 2、占据连续的内存,然后是按照顺序存储数据的 3、使用数组时,先创建,这个时候需要指定数组的容量大小,这样就根据大小分配内存了,计算机也不管你在这个内存中存储了多少数据,反正就是根据你指定的大小让你这个数据占据这么大的内存。所以数组会有以下缺点:第一个就是...原创 2018-05-09 20:20:08 · 309 阅读 · 0 评论 -
【数据结构与算法(二)】——字符串
这是第二天,来自《剑指offer》 先吐槽一波今天的自己,今天一整天的课原创 2018-05-09 22:31:02 · 205 阅读 · 0 评论 -
堆排序算法
堆——最大堆/最小堆的初始化、增加、删除等基本操作 堆是一种经过排序的完全二叉树或满二叉树 满二叉树即除最后一层无任何子节点外,每一层上的所有结点都有两个子结点的二叉树 堆排序运行的时间:O(nlog n)1、示例:如下为一个最大堆,用数组则可以按顺序表示堆{100,19,36,17,3,25,1,2,7} 2、堆初始化【堆排序的思想】 从一个无序...原创 2018-03-24 22:56:06 · 251 阅读 · 0 评论 -
Python算法学习
把教材《算法设计与分析》的C/C++理解并翻译成python 练习python+算法冒泡排序算法从小到大排序 def bubble_sort(lists): count=len(lists) # i=0,1,……,count-2 for i in range(0,count-1): for j in range(0,cou...原创 2018-05-10 08:54:54 · 341 阅读 · 0 评论 -
【数据结构与算法(三)】——链表
这是第三天,来自《剑指offer》 释放掉被删除节点占用的空间delete 重点是思路、思想要掌握链表(很重要)链表(节点+数据)由指针把若干个节点连接成链状结构。链表的创建、插入节点、删除节点等操作需要的代码量很少,适合面试。链表是一个动态的数据结构,其需要对指针进行操作。在创建链表时,无须知道链表的长度。当插入一个节点时,我们只需要为新节点分配内存,然后调整指针...原创 2018-05-10 18:48:12 · 329 阅读 · 0 评论 -
【数据结构与算法(九)】——查找与排序
快速排序C++异常处理查找与排序:顺序查找、二分查找、哈希表查找、二叉排序查找原创 2018-05-17 12:05:16 · 2074 阅读 · 0 评论 -
【数据结构与算法(四)】——复杂链表
依旧是第四天 学会知识迁移,把看过的基础的常见的知识应用在复杂问题上 分解复杂问题,使之简单化,把复杂问题分步骤解决复杂链表比较复杂的链表,可能涉及树啊什么的复杂链表的赋值请实现函数ComplexListNode* Clone(ComplexListNode* pHead),复制一个复杂链表。在复杂链表中,每个节点除了有一个pNextNode指针指向下一个节点,...原创 2018-05-12 15:01:50 · 1562 阅读 · 0 评论 -
【数据结构与算法(五)】——树
第五天,突然又迷茫了!难受的一天树 --->递归?1、树的逻辑:除根节点之外的每个节点只有一个父节点,根节点没有父节点;除叶节点之外所有节点都有一个或多个子节点,叶节点没有子节点。树结构会涉及大量的指针。一种特殊的树:二叉树。在二叉树中每个节点最多只能有两个子节点。 2、在二叉树中最重要的是遍历: 前序遍历:根节点–左...原创 2018-05-13 09:12:34 · 219 阅读 · 0 评论 -
【数据结构与算法(十)】——回溯法
回溯法C++引用与指针的区别原创 2018-05-19 15:34:00 · 1367 阅读 · 0 评论 -
【数据结构与算法(十一)】——动态规划与贪婪算法
关于求最优解(最大值、最小值)的算法动态规划与贪婪算法原创 2018-05-20 11:50:13 · 363 阅读 · 0 评论 -
【数据结构与算法(六)】——树(复杂的树)
这是第六天,昨天是周天,做了课程相关实验,收获还是蛮多的,但是过程很曲折,做了很多不必要的工作。 树的最常见的相关算法就是使用递归,因为对于一整个树,其左子树或右子树同样是一个完整的树。 直接或间接的遍历考查,所以要将复杂的题简单化。而且对于树,最最需要小心的是指针的操作,树中有大量的指针操作。在每次使用指针的时候,都要问自己这个指针有没有可能是nullptr,如果有可能的话,那...原创 2018-05-14 15:48:18 · 489 阅读 · 0 评论 -
【数据结构与算法(十二)】——位运算
位运算:把一个整数减去1之后再和原来的整数做位与运算,得到的结果相当于把整数的二进制表示中最右边的1变成0原创 2018-05-21 11:32:17 · 479 阅读 · 0 评论 -
【数据结构与算法(七)】——栈和队列
这是第七天,每天的开始都问自己昨天做了什么,今天要做什么的一种心情栈和队列1、栈(数据结构):FILO,后进先出 2、队列:LILO,先进先出 这里顺便复习以下《汇编语言(王爽)》中的函数调用栈函数调用栈1、几个常用的寄存器:①ESP:栈指针寄存器,其内存中存放的是一个指针,永远指向系统栈最上面的一个栈帧的顶部。push和pop指令会改变esp的值 ②EB...原创 2018-05-15 13:47:41 · 370 阅读 · 0 评论 -
【数据结构与算法(二十二)】
常见的排序算法的变形使用原创 2018-06-02 15:56:36 · 303 阅读 · 0 评论