
数据结构
极客Nero
IT技术爱好者,抱着一颗实诚的心去学习每天进步一点点。
展开
-
各种数据结构的特性
数组 优点:插入块如果知道坐标可以快速去地存取 缺点:查找慢,删除慢,大小固定 有序数组 优点:比无序数组查找快 缺点:删除和插入慢,大小固定 栈 优点:提供后进先出的存取方式 缺点:存取其他项很慢 队列 优点:提供先进先出的存取方式 缺点:转载 2015-01-21 01:31:26 · 780 阅读 · 0 评论 -
常用排序算法(C描述)
一、简单排序算法 1.冒泡法:这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡: 在要排序的一组数中,对当前还未排好序的范围内的全部数,自上 而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。 冒泡排序是稳定的。算法时间复杂度O(n^2)。 void Bub转载 2014-09-21 14:20:54 · 751 阅读 · 0 评论 -
遗传算法初接触
遗传算法(Genetic Algorithm, GA)是模拟达尔文的遗传选择和自然淘汰的生物进化工程的计算模型,它由美国Michigan大学J.Holland教授于1975年首先提出。 GA是全局寻优的优化算法,简单通用,鲁棒性强,适用于并行处理,应用范围广。 从上述的流程可以看出,遗传算法包括5个基本要素:参数编码,初始群体设定,适应度函数的设计,遗传操作,控制参数的设定(群转载 2014-09-21 14:19:50 · 1580 阅读 · 0 评论 -
Java中的递归原理分析
解释:程序调用自身的编程技巧叫做递归。 程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来转载 2014-07-18 10:41:00 · 733 阅读 · 0 评论 -
什么是字符串常量池?
在理解字符串常量前,我们先熟悉一下如何创建一个字符串,在Java中有两种方法可以创建一个字符串对象: 使用new运算符。例如: 1 String str = new String("Hello"); 使用字符串常量或者常量表达式。例如: 1 2转载 2014-04-12 21:41:23 · 792 阅读 · 0 评论 -
堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两转载 2014-04-08 22:12:04 · 649 阅读 · 0 评论 -
JAVA调用栈解释
调用栈可能就是方法栈的意思,方法栈是JVM为对象的每一次方法调用所分配的一块独立的内存空间,在对方法栈的理解上需要注意这样几个地方: 1.方法栈不是对象唯一的,对同一个对象的方法调用2次,这2次的方法栈是不一样的。 2.方法栈是不能互相通信的,也就是说当一个方法还没有返回任何值的时候,方法外部是不能获得该方法内部参数的状态的。 学习方法栈可以和线程的概念结合起来理解,因为方法栈是绑定在当前线程转载 2014-03-14 20:14:07 · 2128 阅读 · 1 评论 -
JAVA中控制double类型小数点后位数的方法
利用java.text.DecimalFormat可以设置double型数据的小数点位数 假如现在想把某一个double的值限制在小数点后的3位,可以这样做: import java.text.DecimalFormat; public class Main { public static void main(String[] args) {转载 2014-03-12 18:49:27 · 6880 阅读 · 0 评论