Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

贪心算法之活动选择问题--求解现实问题的思路

贪心算法之活动选择问题--求解现实问题的思路

参考《算法导论第二版P222页)算法导论 原书第2版 高清PDF及答案 下载见 http://www.linuxidc.com/Linux/2015-05/117756.htm一,如何把现实的问题转变成数学问题?即数学建模的思路?1,问题描述:现有一组相互竞争的活动,如何调度能够找出一组最大的活动(活动数目最多)使得它们相互兼容?2,问题转化:首先,按活动的结束时间单调递增进行排序。那么,为什么要按结束时间排序呢?这个问题留到后面解释。其次,定义合适的问题...
C#的未来:方法契约

C#的未来:方法契约

近些年来,开发者可以通过代码契约(Code Contracts)这个研究性项目获得添加方法级别契约的能力,但这种方式存在许多问题,它所使用的命令式语法相当冗长,并且通过工具提供的语法支持也很差。无论是开发类库或是应用程序,要完整的利用这一契约特性,必须要运行某种编译后指令。总的来说,这是一个有趣的项目,但要真正变得实用,还需要第一等的编译器与语法的支持。 第 119 号提议——方法契约旨在提供这种支持。这一语法要求在方法签名与方法...
用 Python 实现 各种排序算法

用 Python 实现 各种排序算法

归并排序归并排序也称合并排序,是分治法的典型应用。分治思想是将每个问题分解成个个小问题,将每个小问题解决,然后合并。具体的归并排序就是,将一组无序数按n/2递归分解成只有一个元素的子项,一个元素就是已经排好序的了。然后将这些有序的子元素进行合并。合并的过程就是 对 两个已经排好序的子序列,先选取两个子序列中最小的元素进行比较,选取两个元素中最小的那个子序列并将其从子序列中去掉添加到最终的结果集中,直到两个子序列归并完成。代码如下:#!/usr/bin/py...
字符串最小周期串问题

字符串最小周期串问题

问题描述:如果一个字符串可以由某个长度为n的字符串重复多次得到,则该串以n为周期。例如,abcabcabcabc以3为周期(注意,它也以6和12为周期)。输入一个长度不超过100的串,输出它的最小周期。样例输入:ChinaChinaChina样例输出:5问题分析:字符串可能有多个周期,但是只需求出最小的一个。可以从小到大枚举各个周期(即从1到字符串大小),一旦符合条件就立即输出。当不是周期串时输出的最小周期即为其本身长度。代码如下:#include <...
C++ 类型转换及RTTI

C++ 类型转换及RTTI

一、C++的4中类型转换我们应该比较熟悉C的类型转换即由圆括号和标识符组成,但是对于C的类型转换有时候到不到我们的要求,比如去除const 的类型转换,把一个指向基类的指针转化成指向子类的指针等等。下面就介绍C++引进的四个新的类型转换操作符,这四个操作符是:static_cast, const_cast, dynamic_cast, 和reinterpret_cast。1,const_cast 除去对象的常属性。转换的是表达式而非自身. 形式:const...
使用StickyListHeadersListView开源库

使用StickyListHeadersListView开源库

使用了StickyListHeadersListView这个库的项目很多,因为许多电话本都是用的这个效果,而且有很多项目都使用了这个效果来实现的层级导航:先看效果:主要的核心代码是一个Adapter,项目的github的README.md上给了一个示例,sample下也有一个比较麻烦的实现,我主要参考了这两个才明白了使用方式:Adapter代码:private class MyAdapter extends BaseAdapter implements S...
Java常用高级线程操作

Java常用高级线程操作

针对Java线程操作一直不太明白,今天找了一本高级教材,有专门介绍Java7支持的线程操作,稍微记录一下各种类和使用条件1.synchronized对象锁使用synchronized来锁定一个对象,但是使用在类的方法中的时候会造成整个类的对象被锁,因此对于其他没有此关键字的标记也无法被其他线程操作。synchronized可以锁定任意代码块,可以锁定任意对对象作为代码块的锁。2.volatile进行线程同步volatile作为一个在内存和线程之间同步变量的...
字符串匹配算法的C/C++实现-算法导论

字符串匹配算法的C/C++实现-算法导论

因为最近准备开始学习做一些小的Android项目练手,看上了系统级的三个应用,拨号盘,通讯录和短信,准备从最简单的拨号做起,但是因为这些应用中都不可避免的会有自动提示,我觉得设计到的就是字符串匹配问题,这里准备使用C语言来实现,将来通过JNI集成到应用当中。算法导论 原书第2版 高清PDF及答案 下载 http://www.linuxidc.com/Linux/2015-05/117756.htm1.首先是朴素匹配,实际上就是穷举:用C语言实现的函数我放到...
简单FadingActionBar的使用

简单FadingActionBar的使用

这个库对于现如今使用的Compat版本的ActionBar和Toolbar支持根本没有,所以建议不要再学习如何使用此库。地址:https://github.com/ManuelPeinado/FadingActionBar上面的结果得出坑了我半天的时间,下面的结论的得出耗费了我另外2个小时的时间。1.首先,不要在AndroidStudio中使用v7的ActionBarActivity来作为parent,否则会出现NullPointer的异常。2.使用继承自...
Linux正则表达式

Linux正则表达式

你可能熟悉一个计算器解释的表达式。请看下面的算术表达式:2+4"2加4" 出几个常数或字面值和一个操作符组成。计算器程序必须能够识别,例如, "2" 是数字常数而加号表示一个操作符,而不能解释为"+"字符。表达式告诉计算机如何产生结果。尽管我们真正想要的就是"2+4"的结果,但我们不能简单地告诉计算机返回6。我们指示计算机计算表达式并返回值。表达式可以比"2+4"更复杂,事实上,它由多个简单的表达式组成,例如:2+3*4计算器通常从左到右计算表达式。然而,...
Linux最简单的驱动编写及测试流程

Linux最简单的驱动编写及测试流程

本文采用nfs挂载网络文件系统的方式,手动创建设备节点,动态加载驱动模块,对理解驱动编写流程有很大好处!一、初级驱动执行流程:1、写好Makefile文件,里面包含将应用程序编译成app文件,将驱动程序编译成mydrv.ko文件的脚本2、在Ubuntu里执行sudo make3、确保mydrv.ko和app被拷贝到nfs挂载的根文件系统的/modules目录4、在模块中创建设备节点(在串口软件显示的开发板文件系统里执行)mknod /dev/dcx-drv...
两分钟彻底让你明白Android Activity生命周期[图文]

两分钟彻底让你明白Android Activity生命周期[图文]

大家好,今天给大家详解一下Android中Activity的生命周期,我在前面也曾经讲过这方面的内容,但是像网上大多数文章一样,基本都是翻译Android API,过于笼统,相信大家看了,会有一点点的帮助 ,但是还不能完全吃透,所以我今天特意在重新总结一下。首先看一下Android api中所提供的Activity生命周期图(不明白的,可以看完整篇文章,在回头看一下这个图,你会明白的):Activity其实是继承了ApplicationContext这个类...
Android Service生命周期及用法

Android Service生命周期及用法

大家好,上一节我讲解了Android Activity的生命周期(见 http://www.linuxidc.com/Linux/2015-05/117921.htm),这一节我将讲解一下Service,首先我们要知道Service具体是干什么的,什么时候用到?以及它的生命周期等。Service概念及用途:Android中的服务,它与Activity不同,它是不能与用户交互的,不能自己启动的,运行在后台的程序,如果我们退出应用时,Service进程并没有结...
Android基础知识总结篇

Android基础知识总结篇

子曰:溫故而知新,可以為師矣。《論語》学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思想精髓。近来回顾了一下关于Activity的生命周期,参看了相关书籍和官方文档,也有了不小的收获,对于以前的认知有了很大程度上的改善,在这里和大家分享一下。熟悉javaEE的朋友们都了解servlet技术,我们想要实现一个自己的servlet,需要继承相应的基类,重写它的方法,...
Android 中替代 sharedpreferences 工具类的实现

Android 中替代 sharedpreferences 工具类的实现

背景想必大家一定用过 sharedpreferences 吧!就我个人而言,特别讨厌每次 put 完数据还要 commit。对 我就是这么懒!哈哈。另外,sharedpreferences 不能存类,集合和bitmap等数据!这点也让人非常不爽啊!所以,我就在这个美好的星期天撸了名为 SHARE 的工具类用来替代 sharedpreferences。项目介绍整体架构先来看一下,整体架构图(画的不好请大家见谅):从图中,我们可以了解到,当我们 put 数据的...
Python 3.5将支持Async/Await异步编程

Python 3.5将支持Async/Await异步编程

根据Python增强提案(PEP) 第0492号, Python 3.5将通过async和await语法增加对协程的支持。该提案目的是使协程成为Python语言的原生特性,并“建立一种普遍、易用的异步编程思维模型。”这个新提议中声明一个协程的语法如下:async def read_data(db):passasync是明确将函数声明为协程的关键字,即便没有使用await表达式。这样的函数执行时会返回一个协程对象。在协程函数内部,可在...
<< 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 >>