lanqiu5ge的专栏

初来乍到,只求渐入佳境

排序:
默认
按更新时间
按访问量

理解volatile与synchronized

用 volatile 修饰的变量可以保证线程的“可见性”,也就是,任何线程修改了这个 volatile 修饰的值都会通知其他线程来主缓存中重新读取值。 下面通过例子加以说明: public class VolatileTest { // 对比有无 volatile 关键字的区别...

2018-02-28 21:14:35

阅读数:53

评论数:0

格雷码的实现

问题:产生n位元的所有格雷码。 格雷码(Gray Code)是一个数列集合,每个数使用二进位来表示,假设使用n位元来表示每个数字,任两个数之间只有一个位元值不同。 例如以下为3位元的格雷码: 000 001 011 010 110 111 101 100 。 如果要产生n位元的格雷码,那么格雷...

2015-09-22 23:40:05

阅读数:372

评论数:0

Eclipse使用入门教程

说起java的IDE,朗朗上口的无非是Eclipse了,假若能熟练Eclipse,对于我们编写java程序会起到事半功倍的效果,大大提高我们工作效率。因此本篇博文,笔者只是针对刚刚入门java的新手,以便他们能尽快掌握Eclipse的使用。 1. 常用快捷键 这是使用工具的第一步,熟练...

2015-08-28 11:55:41

阅读数:423

评论数:0

背包九讲

转载:dd_engi 的背包九讲 目录 第一讲 01背包问题 第二讲 完全背包问题 第三讲 多重背包问题 第四讲 混合三种背包问题 第五讲 二维费用的背包问题 第六讲 分组的背包问题 第七讲 有依赖的背包问题 第八讲 泛化物品 第...

2015-07-22 10:58:18

阅读数:456

评论数:0

动态规划算法

本文转载自:动态规划算法 一、基本概念     动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。 二、基本思想与策略     基本思想与分治法类似,也是将待求解的问题分解为若...

2015-07-22 09:38:03

阅读数:317

评论数:0

静态查找结构概论

本文转自:静态查找结构概论 在计算机许多应用领域中,查找操作都是十分重要的研究技术。查找效率的好坏直接影响应用软件的性能。比如说: (1) 全文检索技术中对文本建立索引之后,对索引的查找效率将决定搜索引擎的质量。 (2) mysql数据库的索引就是B+树结构,查找效率极高。 (3) W...

2015-07-16 16:12:11

阅读数:331

评论数:0

平衡二叉查找树 AVL 的实现

不同结构的二叉查找树,查找效率有很大的不同(单支树结构的查找效率退化成了顺序查找)。如何解决这个问题呢?关键在于如何最大限度的减小树的深度。正是基于这个想法,平衡二叉树出现了。平衡二叉树的定义 (AVL—— 发明者为Adel’son-Vel’skii 和 Landis)平衡二叉查找树,又称 AVL...

2015-07-16 00:08:31

阅读数:531

评论数:0

动态查找树比较

本文转载自:动态查找树比较 我们这个专题介绍的动态查找树主要有: 二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)。这四种树都具备下面几个优势: (1) 都是动态结构。在删除,插入操作的时候,都不需要彻底重建原始的索引树。最多就是执行一定量的旋...

2015-07-15 15:24:47

阅读数:506

评论数:0

二叉查找树(二叉排序树)的详细实现

1、序     当所有的静态查找结构添加和删除一个数据的时候,整个结构都需要重建。这对于常常需要在查找过程中动态改变数据而言,是灾难性的。因此人们就必须去寻找高效的动态查找结构,我们在这讨论一个非常常用的动态查找树——二叉查找树 。      本文详细实现了二叉查找树的各种操作:插入结点、...

2015-07-15 15:14:37

阅读数:626

评论数:0

表达式树

表达式树表达式树的树叶是操作数,如常数或变量,而其他的节点是操作符,如果所有的操作符均是二元的,则构成一棵二叉树。表达式树的性质中序遍历 —-> 中缀表达式 后序遍历 —-> 后缀表达式 先序遍历 —-> 前缀表达式构造一棵表达式树把后缀表达式转变成表达式树 (由于中缀表达...

2015-07-15 15:11:39

阅读数:384

评论数:0

桶排序

本文转载自: 爪哇人-桶排序 从《基于比较的排序结构总结 》中我们知道:全依赖“比较”操作的排序算法时间复杂度的一个下界O(N*logN)。但确实存在更快的算法。这些算法并不是不用“比较”操作,也不是想办法将比较操作的次数减少到 logN。而是利用对待排数据的某些限定性假设 ,来避免绝大多数...

2015-07-09 23:00:41

阅读数:324

评论数:1

【Effective C++ 读书笔记】条款04:确定对象使用前已先被初始化

永远在使用对象之前先将它初始化。对于无任何成员的内置类型,你必须手工完成此事。至于内置类型以外的任何其他东西,初始化责任落在构造函数身上。规则很简单:确保每一个构造函数都将对象的每一个成员初始化。构造函数成员初始化列表: 这里有一个规则:总是在初始化列表中列出所有成员变量,即使有的成员变量是内置...

2015-07-06 21:50:40

阅读数:291

评论数:0

【Effective C++ 读书笔记】条款03: 尽量使用 const

关键字const多才多艺,变化多端却不高深莫测。const 修饰指针 面对指针, 你可以指出 指针自身、指针所指物、或者两者都不是 const。如果关键字 const 出现在星号左边,表示被指物是常量。 (const 出现在类型之后,星号之前 ,同上边两者意义相同) 如果出现在星号 右边,表...

2015-07-06 20:28:08

阅读数:337

评论数:0

【Effective C++ 读书笔记】条款02: 尽量以 const, enum, inline 替换 #define

这个条款或许可以改为“宁可以编译器替换预处理器”。 如果你做出这样的事: #define ASPECT_PATIO 1.653 记号名称 ASPECT_PATIO 从未被编译器看见;也许在编译器开始处理源代码之前它就被预处理器移走了。于是记号名称 ASPECT_PATIO 有可能没有进入...

2015-07-04 12:06:44

阅读数:316

评论数:0

【转载】C++中的static关键字的总结

C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。面向过程设计中的static 静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举...

2015-06-25 08:43:48

阅读数:311

评论数:0

【Effective c++ 读书笔记】条款01 视 C++ 为一个语言联邦

一开始,C++只是 C 加上一些面向对象的特性。C++最初的名称 C with Classes 也反映了这个血缘关系。但是,现在,当这个语言逐渐成熟,它变得更活跃更无拘束,更大胆冒险,开始接受不同于 C with Classes 的各种观念、特性和编程战略。 今天的 C++ 已经是个多重...

2015-06-24 23:22:46

阅读数:352

评论数:0

【Effective C++ 读书笔记】导读 Introduction

学习程序语言根本大法是一回事,学习如何以某种语言设计并实现高效程序则是另一回事。一组明智选择并精心设计的classes、functions、templates可使程序编写容易、直观、高效、并且远离错误。带着问题去品读这本经验著作:设计上的讨论: “如何在两个不同的做法中择一完成某项任务?” 选择...

2015-06-24 16:47:27

阅读数:270

评论数:0

【Effective C++读书笔记】序

C++ 是一个难学易用的语言!【C++为什么难学?】C++的难学,不仅在其广博的语法,以及语法背后的语义,以及语义背后的深层思维,以及深层思维背后的对象模型;C++的难学还在于它提供了四种不同而又相辅相成的编程模型(programming paradigms): procedural-based(...

2015-06-24 11:00:13

阅读数:409

评论数:0

【LeetCode #179】Largest Number 解题报告

原题链接:Largest Number 题目描述: Given a list of non negative integers, arrange them such that they form the largest number.For example, given [3, 30, 34, ...

2015-06-23 17:40:41

阅读数:466

评论数:0

【转载】C语言itoa()函数和atoi()函数详解(整数转字符C实现)

介绍C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。 int/float to string/array: C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串,下面列举了各函数的方法及其说明。 ● itoa():将整型...

2015-06-23 14:20:09

阅读数:581

评论数:0

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