自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Little_Fire的博客

致力于大数据分析、机器学习与推荐系统学习与研究的技术小白,但我相信不积跬步无以至千里,不积小流无以成江海

  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 贪心算法总结示例与钞票问题的求解

贪心算法通常也会结合其他知识点一并考察(如排序、栈、堆排序等)(预备知识)贪心法求解钞票问题这里有几种不同面额的钞票,1元、5元、10元、20元、100元、200元的钞票无穷多张,现在使用这些钞票去支付X元的面额,问最少需要多少张?例如X=628,我们通常会尝试从面额最大的钞票(200元)开始尝试,此时发现200元的钞票只能使用3张,此时剩余的面额是628-3*200=28元,再依次查...

2018-07-19 11:31:23 2001 1

原创 (算法总结)堆排序的应用:寻找中位数

设计一个数据结构,可动态地维护一组数据,且支持如下操作:(1)添加元素:void addNum(int num)(2)返回这组数据中的中位数 double findMedian()【思考】如何获取一组元素的中位数(1)首先,我们马上想到的方法,最直观的方法就是:添加元素的同时进行排序操作(直插sort)addNum的复杂度是O(n),findMedian的复杂度则是O(1);(...

2018-07-18 16:32:53 7289 1

原创 (算法总结)堆排序的应用:求数组中第k大的元素

(一)预备知识:堆与堆排序二叉堆是一种非线性的数据结构,是一种完全二叉树的结构,分为大顶堆和小顶堆两种,其中大顶堆是指树中各父节点的值总是大于等于任何一个子节点的值;而小顶堆则是定义为树中各父节点的值总是小于等于任何一子节点的值。一般用二叉堆实现优先级队列,其内部调整的时间复杂度为O(logN),C++的标准STL库的优先级队列包括以下5种操作:(1)取堆顶操作:H.top()(2...

2018-07-18 14:30:19 3800

原创 (算法总结)判断一个序列是否为合理的出栈顺序

合理的出栈顺序也是面试算法经常考察的一部分,堆栈(stack)的后进先出性质我们都了解。如果给定了一个入栈的序列,判断一个序列是否为合理的出栈顺序该如何进行呢。例如,我们给定了入栈顺序为 1,2,3,4,5那么【序列1】3,2,5,4,1 是合理的;        【序列2】3,1,2,4,5 就是不合理的出栈顺序我们这里思考几个问题:(1)错误的出栈顺序不会出现的原因;(...

2018-07-17 00:03:22 7537 2

原创 (转载)基于sklearn的iris数据集及简介

(一)iris数据集简介Iris数据集是机器学习任务中常用的分类实验数据集,由Fisher在1936收集整理。Iris中文名是安德森鸢尾花卉数据集,英文全称是Anderson’s Iris data set,是一类多重变量分析的数据集。Iris一共包含150个样本,分为3类,每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,V...

2018-07-16 11:54:38 21548

原创 (算法总结)单链表求环问题:检验单链表是否存在环以及存在环的初始节点

单链表的求环问题也是面试算法中常常考察的问题,链表的求环的问题可通过以下两种方法解决先定义单链表的数据结构:struct ListNode{ int val; struct ListNode* next; ListNode(int x):val(x){}};方法一:使用集合set单链表是否存在环可以转化成一个通过遍历各个节点时是否遇到相同的结点地址的问题,如果遇到,就返回改地址,遍历结束...

2018-07-14 00:31:03 454

原创 (算法总结)求两个单链表的交点问题(leetcode160)

求两个链表的交点问题也是面试算法常常考到的点,这里提供两种方法实现。问题描述:给定两个单链表的头指针ha和hb,若两个链表存在交点,就返回该交点的指针地址,若不存在交点,则返回NULL。这里先定义一下单链表数据结构struct ListNode{ int val; ListNode *next; ListNode(int x): val(x), next(NULL) {}};方法一:使用...

2018-07-12 18:56:58 803

原创 (算法总结)单链表的中间段逆序(leetcode92)

链表的就地逆置我们讲解过了,接下来,关于单链表的中间段逆置,是一个稍有难度的问题。问题描述如下:给定start和end,逆置从start到end的所有节点。思路:这里需要定位逆置段开始节点,逆置段前驱结点,逆置段结束节点,以及逆置段结束节点后继...

2018-07-12 17:55:05 496

原创 (算法总结)单链表的就地逆置(leetcode 206)

单链表是大家非常熟悉的数据结构,单链表的就地逆置是面试算法中常考的问题。“就地”逆置就是要求算法不引入额外的存储空间,即算法的空间复杂度为O(1),换句话讲,算法要求我们只使用指针的移动和变换,来实现逆置的功能。我们这里使用一种典型的方法“头插法”。先定义一个单链表的数据节点:struct ListNode{ int val; ListNode *next; ListNode(int x)...

2018-07-12 16:20:25 4087

原创 (算法总结)寻找组合数,求出从整数1到n中和为m的所有组合

采用背包问题原理,仅考虑具有最大的数字n是否存在与结果集合中,考虑以下两种情形:(1)n在集合中,剩下的n-1个数字需要组成一个和为n-m的组合;(2)n不在集合中,剩下的n-1个数字仍需要组成和为m的组合;由于需要给出所有的组合可能,因此是一个回溯的过程。算法设计思路:由于是个回溯递归的过程,因此需要首先给出递归终止条件:当需要求和的数字小于等于0或所有数字都用完了的时候,就是程序终止的时候。用...

2018-07-12 12:44:15 6414

原创 (算法总结)求最大公共子串

要求:求两个字符串的最长公共子串,如“abcdefg”和“adefgwgeweg”的最长公共子串为“defg”,但是要求子串必须是连续的。思路:动态规划法求解定义二维数组dp[i][j],其中i用于遍历字符串s1的下标,j用于遍历s2的下标,于是dp[i][j]就用于记录当s1和s2分别遍历到i和j下标时,以s1[i]和s2[j]为结尾的最大公共子串长度,而要求最终的最大公共子串,需要用一个max...

2018-07-12 11:35:14 2236

原创 关于pycharm找不到已经安装的module ImportError: No module named问题的解决方案

最近在整理Python和Pycharm相关配置的时候,遇到了一些配置上的问题,这里给大家做一下分享整理。首先,自己安装了一个python3.6(在官网上安装的,当前最新版本是Python 3.7),下载地址如下:https://www.python.org/downloads/windows/然后按照安装向导,一点点安装即可。安装目录选择为:C:\Users\yanyan\AppData\Loca...

2018-07-06 15:05:22 26660 3

虚拟页式存储管理系统

虚拟页式存储管理系统,支持先进先出算法、最佳值换算法和LRU算法。

2010-12-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除