代码改变世界

STL源码剖析之关联式容器基础知识

2011-06-12 10:11 by Aga.J, 359 阅读, 0 推荐, 收藏, 编辑
摘要:54 标准的STL关联式容器有 set (multiset)和 map(multimap),他们底层的机制都是RB-tree即红黑树来实现。还有其他 hash_table, hash_set,hash_map,hash_multiset,hash_multimap(他们的底层都是以hash_table来实现)RB-tree Set (RB_SET) Map (RB_MAP) Multiset (RB_MULTISET) Multimap (RB_MULTIMAP)Hashtable Hash_set Hash_map Hash_multiset Hash_mutimap 关联式容器,概念上类似 阅读全文

J2EE学习笔记:第四天

2011-06-11 16:44 by Aga.J, 543 阅读, 0 推荐, 收藏, 编辑
摘要:5 使用JNDI使用JNDI,首先需要获取一个 添加或者查找名字 的 环境, 代表整个名称空间的环境叫做initial environment。 由一个名为javax.naming.InitalContext的类描述Context ctx = new InitalContext();Context对象描述的是一个可以用来查找对象添加对象的 环境。通过这个环境可以获取和这个环境相关的对象的列表。这个初始化调用会抛出初始化失败等异常,编写代码过程中需要捕获并处理这些异常主要的异常包括:(1) javax.naming.CommunicationException:Can not find Seri 阅读全文

STL源码剖析之序列式容器Heap及Priority Queue

2011-06-11 09:55 by Aga.J, 705 阅读, 0 推荐, 收藏, 编辑
摘要:50 heap Heap的背景是建立在优先队列的基础上,priority queue允许我们任意的插入一个元素,但是会自动将元素进行排序,使得取出时一定是从优先级最高的元素开始取。我们可以考虑使用list这种数据结构完成priority queue,也就是说,我们可以轻松的完成插入(因为list其实是线性链表),但是我们要取得list中的极值时,则需要对整个list进行遍历。或者我们可以这样考虑,将元素插到list的合适位置,这样一来,虽然很容易取得极值,但是我们的搜索插入也是需要线性搜索。 很自然的想到二分法来减少复杂度,也就是使用二叉搜索树,这样插入和求极值都值需要O(logN)的复杂度, 阅读全文

STL源码剖析之Deque的Adapter

2011-06-11 09:16 by Aga.J, 403 阅读, 0 推荐, 收藏, 编辑
摘要:46Stack不允许遍历,只有一个出口,只允许对最顶端的元素进行操作。SGI STL默认以deque作为stack的底层结构。为什么要使用deque作为stack的底层结构呢?因为deque可以很容易的封住其中某个方向的接口,而且deque便于扩容,底层结合了list和vector,比起单一的使用list或者vector来实现stack更加方便高效。由于stack是依赖底层容器完成其功能的,所以这种“修改某个物件的接口,形成另一种新的接口”的,叫做adapter。Template<class T, class Sequence=deque<T> > Class stac 阅读全文

Why Git is Better than X

2011-06-10 23:25 by Aga.J, 1089 阅读, 1 推荐, 收藏, 编辑
摘要:转发自:http://zh-cn.whygitisbetterthanx.com/#easy-to-learn最近我花费了大量时间为 Gitsters 辩护以对抗那些 fanboyism, bandwagonism 以及 koolaid-thirst 的指责。 为此我建设了此网站来说明大家为什么要从 X 转换至 Git,以及为何你也应该这么做。点击任何一个原因展开以查看详情。全部展开|全部折叠hgbzrsvnperforce便宜的本地分支使 Git 从几乎所有 SCM 中脱颖而出并出并且最吸引人的特色,恐怕非它的分支模型莫属。 它完全不同于我在此用于比较的所有其他模型,那些模型所推荐的最佳分支 阅读全文

10年软件开发教会我最重要的10件事

2011-06-10 23:12 by Aga.J, 334 阅读, 0 推荐, 收藏, 编辑
摘要:0. “面向对象”比你想象的要难得多 也许只有我有这种想法,不过我曾经以为计算机科学课上学过的“面向对象”是很简单的东西。我的意思是,创建一些类来模拟现实世界能有多难啊?其实,那还真是挺难的。 十年之后,我仍然在学习如何合理地建模。我后悔以前我没有花更多的时间来学习面向对象和设计模式。优秀的建模技术对于每一个开发团队都是非常有价值的。 1. 软件开发的难点在于沟通 这里的沟通是指与人的沟通,而不是socket编程。有时你的确会遇上棘手的技术问题,但是这种情况根本不常见。常见的问题在于那些你和项目经理之间的、你和客户之间的、还有你和其他开发者之间的误解。培养你的软技能吧。 2. 学会拒绝 当我. 阅读全文

STL源码剖析之序列式容器Deque

2011-06-09 19:10 by Aga.J, 1839 阅读, 0 推荐, 收藏, 编辑
摘要:37 deque Vector是单向开口的连续线性空间,用户只能在vector尾部进行插入删除操作。(当然它也允许在某个pos处插入元素,但是要注意到Vector的底层实现是数组,所以过多或者频繁的在非队尾的位置插入会有性能上的消耗) 而deque是一种双向开口的连续线性空间,允许我们在头尾两端操作。所以我们需要保证deque可以在常数时间内对头和尾元素进行插入或者删除。 Deque还有一个明显的与Vector不同的特点,就是它没有capacity的概念,它是动态地用分段连续的空间组合起来的,随时可以增加一段新的空间并连接起来,而为了隐藏deque的这些底层细节(分段连续的空间组成---需要一 阅读全文

数据挖掘:概念与技术 学习笔记 第一章

2011-06-08 21:33 by Aga.J, 3385 阅读, 0 推荐, 收藏, 编辑
摘要:1 数据挖掘进化过程:数据收集和数据库创建 ---- 数据管理(数据存储,提取,事务处理) --- 数据分析与理解(数据仓库和数据挖掘)可以使用分层的结构来表示这个进化过程(下层使用上层服务):2 海量数据 需要 数据挖掘工具进行数据分析, 发现重要的数据模式3 知识发现的过程:(1)数据清理(消除噪音或者不一致的数据)(2)数据集成(多种数据源组合一起)(3)数据选择(从数据库中提取和分析任务相关的数据)(4)数据变换(将数据变换成统一的适合挖掘的形式)(5)数据挖掘(使用智能方法提取数据模式)(6)模式评估(根据某种兴趣度度量,识别提供知识的真正有趣的模式)(7)知识表示(可视化知识表示) 阅读全文

J2EE学习笔记:第三天

2011-06-08 14:48 by Aga.J, 622 阅读, 0 推荐, 收藏, 编辑
摘要:1 java 命名与目录服务 Java 命名和目录接口 Java Naming and Directory Interface JNDI JNDI最简单的形式就是用来“查找”通过J2EE服务器注册的资源。 JNDI的高级使用支持对java对象和其他信息的复杂的存储和检索。2 什么是命名和目录服务 命名服务提供了一种为对象命名的机制,这样我们就可以不需要知道对象的具体位置而可以很方便的获取和使用对象,这类似于我们的web访问,我们可以定位到任何网络能够访问到的机器上的对象。 命名服务器要求我们要有正确的环境获取(obtaining a context),只有在正确的环境中才能找到想要的名字。 命 阅读全文

又见作业之无线点餐系统项目经理经验总结

2011-06-07 21:36 by Aga.J, 1017 阅读, 0 推荐, 收藏, 编辑
摘要:本次实验涉及到移动手机,Web服务平台,桌面应用程序,GIS应用的开发,是一个比较有挑战性的项目。 本人担任项目小组组长,负责完成项目需求的获取和分析,项目管理,项目开发计划设定,项目开发概要设计等关键任务。此次担任项目经理的机会很好地让我将课上学习到的项目管理知识,项目计划知识,项目开发概要分析知识和过去项目管理和开发经验结合起来,并应用到实际项目中去,很好的完成了项目要求和既定目标。 在项目初期,主要是需求的获取,我详细的分析了项目要求文档,进行项目的业务建模和功能用例分析,并编写相应文档。需求文档完成后,小组内召开第一次会议,针对项目需求文档进行项目目标和项目范围确认,并进行项目分工(. 阅读全文
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 17 下一页