- 博客(21)
- 资源 (2)
- 收藏
- 关注
转载 Pythonic
变量交换Pythonic写法a, b = b, a普通写法tmp = a;a = b;b = tmp;循环遍历区间元素# 生成器与列表更加节省内存# range(start, end, step)# [start, end) 包含开头不包含结尾for i in range(1, 1000, 2) # python3for i in range(6) # python3for i i...
2018-05-25 16:54:47
1339
转载 学习技术的三部曲:WHAT、HOW、WHY
下面是我今天写的一个Blog,转贴给大伙儿,希望论坛里的牛人多提批评意见。最近几天有些网友在邮件里面问我关于学习的问题。有很多人觉得工作了几年,也学会了不少的类库、框架、甚至语言,但是感觉自己的能力没有太大的提高。因此今天来说一下我个人对这方面的体会。 我把学习归类为三个步骤:What、How、Why。经过我对周围同事和朋友的观察,大部分感觉自己技术没有提高的人,都仅仅停留在What阶段。下面我...
2018-03-19 19:22:49
1438
转载 给定一个数字字符串,返回数字可能表示的所有可能的字母组合。数字与字母的对应关系和手机按键对应
本题源自LeetCode----------------------------------------------思路:·1 枚举回溯。 1 将所有的对应关系构建为一个map2 用回溯法求解代码:[html] view plain copymap<int,string> numToStr={{2,"abc"},{3,"def"},{4,"ghi"},{5,"jkl"},{6,"mno...
2018-03-10 17:01:19
2704
转载 寻找数组中的第K大的元素
遇到了一个很简单而有意思的问题,可以看出不同的算法策略对这个问题求解的优化过程。问题:寻找数组中的第K大的元素。最简单的想法是直接进行排序,算法复杂度是O(N*logN)。这么做很明显比较低效率,因为不要求别的信息只要计算出第K大的元素。当然,如果在某种情况下需要频繁访问第K大的元素就可以先进行一次排序在直接得出结果。第一种方式是这样,用选择排序,冒泡法,或者交换排序这类的排序,对前K个元素进行排...
2018-03-08 16:56:38
557
转载 java中方法的参数传递机制
java中方法的参数传递机制 问:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 答:是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本。指向同一个对象,对象的内容可以在被调用的方法中改变,但对象的引用(不是引用的副本)是永远不会改变的。 Jav...
2018-03-08 14:17:32
232
原创 MySQL优化-索引
索引(键-key)是存储引擎用于快速找到记录的一种数据结构,MySQL中索引是在存储引擎层而不是服务器层实现的。索引优化是一个非常复杂的话题!三星索引如果与一个查询相关的索引行是相邻的,或者至少足够靠近的话,那这个索引就可以被标记上第一颗星。这最小化了必须扫描的索引片的宽度。如果索引行的顺序与查询语句的需求一致,则索引可以被标记上第二颗星。这排除了排序操作。如果索引行包...
2018-03-07 16:16:13
289
原创 B树与B+树
B树别称:B-树、B_树维基百科对B树的定义为“在计算机科学中,B树(B-tree)是一种树状数据结构,它能够存储数据、对数据进行排序,可以O(log n)的时间复杂度进行查找、顺序读取、插入和删除。B树,概括来说是一个节点可以拥有多于2个子节点的二叉查找树。与自平衡二叉查找树不同,B-树通常用于最优化大块数据的读和写操作。由于孩子结点的数量允许在一个范围内,B树相比自平衡二叉树不会频繁自平衡,但...
2018-03-07 10:58:58
315
原创 MySQL优化-表结构
数据类型简单的原则:1)更小的通常最好 why:更小的数据类型会占用更小的磁盘,内存和CPU缓存,会产生更小的索引,处理时CPU周期更少。2)简单就好 整数好于字符串。 why:整型比字符操作代价更低,因为字符集的排序规则使字符比较比整型比较更复杂。 eg:使用MySQL内建类型(内部为整型)存储时间;使用整型存储IP地址。3)尽量避免NULL值 如何存储NULL值,...
2018-03-06 20:25:51
215
原创 SQLite线程模式
SQLite支持不同的线程模式:1、 Single-thread。这种模式下,锁会失效,多线程同时使用不安全。2、 Multi-thread。这种模式下,每个线程需要使用它们各自的连接,一个连接不能同时被多个线程使用。3、 Serialized。这种模式下,是多线程安全的。 线程模式可以在编译期(编译SQLite库)、初始化期(应用开始使用SQLite)、运行期(创建连接)选择。通常,运行期...
2018-03-06 14:42:19
705
原创 MySQL优化-SQL语句优化
SQL语句优化 SELECT语句优化除了select语句,对查询的调整技术还可以应用于:create table…as select, insert into…select, delete子句里的where子句。NDB 存储引擎也叫NDB Cluster 存储引擎,主要用于MySQLCluster 分布式集群环境,Cluster 是MySQL 从5.0 版本才开始提供的新功能。该存储引擎对join...
2018-03-06 11:34:56
237
原创 MySQL优化概述
数据库层面优化三点:表,查询,配置为了让数据库应用更快,需要检视以下几个问题:1、 表结构是否是合适的?比如:列是否有正确的数据类型,每张表相对于其工作职责是否有合适的列。2、 为了使查询效率更高,建立了正确的索引?3、 每张表使用了合适的存储引擎,利用了每个存储引擎的特点? InnoDB(in-no-db)为事务型,MyISAM(my-z[ei]m)为非事务型。4、 每张表使用了合适的行...
2018-03-06 10:03:38
229
转载 SQLite加密方式
关于SQLiteSQLite是一个轻量的、跨平台的、开源的数据库引擎,它的在读写效率、消耗总量、延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案(如iOS、Android)。然而免费版的SQLite有一个致命缺点:不支持加密。这就导致存储在SQLite中的数据可以被任何人用任何文本编辑器查看到。 SQLite加密方式对数据库加密的思路有两种:1. 将内容加密后再写入数据库这...
2018-03-06 08:16:19
2852
转载 c++编译过程
c++编译过程简介了解编译过程的益处c++工程相关的问题什么是库?静态库和动态库又有什么区别?头文件起什么作用?编译过程简介名词:编译:把源文件中的源代码翻译成机器语言,保存到目标文件中。如果编译通过,就会把CPP转换成OBJ文件。编译单元:每个cpp就是一个编译单元,每个编译单元相互之间是独立且相互不知的。一个编译单元(Translation Unit)是指一个.cpp文件以及这所include...
2018-03-03 14:58:48
10792
1
转载 单例模式与复制、赋值、析构
原文地址:http://www.cnblogs.com/loveis715/archive/2012/07/18/2598409.html“请写一个Singleton。”面试官微笑着和我说。 “这可真简单。”我心里想着,并在白板上写下了下面的Singleton实现:复制代码 1 class Singleton 2 { 3 public: 4 static Singleton& Insta...
2018-03-02 15:57:41
1216
转载 C++单例模式
转自:http://blog.csdn.net/qq_35280514单例模式 在一些情形下,保持类的实例只有一个非常重要。例如:一个表示文件系统的Class。一个操作系统一定是只有一个文件系统的,因此,我们希望表示文件系统的类实例有且仅有一个。单例模式 是设计模式中一种实现这一类需求的设计方法。单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。 [1] 全...
2018-03-02 15:06:46
265
转载 模板的声明和实现为何要放在头文件中?
http://www.gois.ws/showfile.asp?id=460:0:0如何组织编写模板程序 发表日期: 1/21/2003 12:28:58 PM 发表人: Nemanja Trifunovic前言常遇到询问使用模板到底是否容易的问题,我的回答是:“模板的使用是容易的,但组织编写却不容易”。看看我们几乎每天都能遇到的模板类吧,如STL, ATL, WTL, 以及Boost的模板类,都...
2018-03-01 15:38:27
2691
转载 C++11可变模版参数
转自:https://www.cnblogs.com/qicosmos/p/4325949.html1概述C++11的新特性--可变模版参数(variadic templates)是C++11新增的最强大的特性之一,它对参数进行了高度泛化,它能表示0到任意个数、任意类型的参数。相比C++98/03,类模版和函数模版中只能含固定数量的模版参数,可变模版参数无疑是一个巨大的改进。然而由于可变模版参数比...
2018-02-28 16:41:49
308
转载 C++中模板的特化与偏特化
1.引言C++中的模板分为类模板和函数模板,虽然它引进到C++标准中的时间不是很长,但是却得到了广泛的应用,这一点在STL中有着充分的体现。目前,STL在C++社区中得到了广泛的关注、应用和研究。理解和掌握模板是学习、应用和研究以及扩充STL的基础。而STL模板实例中又充斥着大量的模板特化和偏特化。2.模板的定义(1) 类模板定义一个栈的类模板,它可以用来容纳不同的数据类型说明如下:templat...
2018-02-28 16:17:46
366
转载 C++11常用特性
C++11常用特性的使用经验总结概述及目录(原创博客,版权所有,转载请注明出处 http://www.cnblogs.com/feng-sc) C++11已经出来很久了,网上也早有很多优秀的C++11新特性的总结文章,在编写本博客之前,博主在工作和学习中学到的关于C++11方面的知识,也得益于很多其他网友的总结。本博客文章是在学习的基础上,加上博主在日常工作中的使用C++11的一些总结、经验和感...
2018-02-28 15:13:31
337
转载 DHCP报文
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)使用UDP协议工作,采用67(DHCP服务器文)和68(DHCP客户端)两个端口号。546号端口用于DHCPv6 Client,而不用于DHCPv4,是为DHCP failover服务。DHCP客户端向DHCP服务器发送的报文称之为DHCP请求报文,而DHCP服务器向DHCP客户端发送的报...
2018-02-26 11:08:53
1782
原创 Ubuntu下安装Python-3.6.0
Ubuntu自带Python,但是版本较低,不是想要的。貌然卸载会让很多依赖的程序出问题。以下为在已存在Python2.x的情况下安装Python3.x。
2017-02-11 14:06:15
467
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人