• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Joanna Qian
Stay Hungry, Stay Foolish!
博客园    首页    新随笔    联系   管理    订阅  订阅

随笔分类 -  Data Stucture&Design Pattern

求子集算法

摘要:题目:试编写一个函数,用来输出n 个元素的所有子集。例如,三个元素{a, b, c} 的所有子集是:{ }(空集),{a}, {b}, {c}, {a, b}, {a, c}, {b, c} 和{a, b, c}。递归求子集void combination(char *s, int p, int q, bool *flag){ if (p == q) { for (int i=0; i<q; i++) { if(flag[i]) putchar(s[i]); } puts("... 阅读全文
posted @ 2013-03-21 11:34 Joanna Qian 阅读(3463) 评论(0) 推荐(0)
什么是JSON+JavaScript处理JSON的简单例子

摘要:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。JSON建构于两种结构:1、“名称/值”对的集合(A collection 阅读全文
posted @ 2013-03-20 11:01 Joanna Qian 阅读(418) 评论(0) 推荐(0)
一万个数查找两个重复数,快速二分查找法 O(logN)(转)

摘要:题目:1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次。每个数组元素只能访问一次,设计一个算法,将它找出来;不用辅助存储空间,能否设计一个算法实现?一、有序情况有1001个数,按照从小到大的顺序排列,其中只有两个数是重复的。当然,因为有序,装两个数也必定是挨着的。题目的要求就是用最少的内存开销、最少的时间开销找出这个重复的数字在 莫贝特的 博客中,他的算法是将(1001个数字的和)- (1000个数字的和)= 重复数字,这种算法思路简单,但是时间复杂度是最高的,共进行了2000次循环,至于留言中的其他算法也基本上属于线性查找,线性查找的时间复杂度是 O(N 阅读全文
posted @ 2013-03-19 08:49 Joanna Qian 阅读(3618) 评论(0) 推荐(0)
UML 类图介绍

摘要:UML(Unified Modeling Language)即统一建模语言,是OMG(Object Management Group)发表的图标式软件设计语言。UML的功能:可视化:使用图表的形式来表现业务关系或者物理关系,可以促进对问题的理解和解决。说明:UML提供了一种通用的、精通的、没有歧义的通信机制进行。建造:UML通过自己的语法规则使得可以通过使用建模工具软件将设计模式映射到一种语言上。建文档:使用UML进行设计可以同时产生系统设计文档。UML包括: 用例图(Use case diagrams) 类图(Class diagrams) 序列图(Sequence diagrams)... 阅读全文
posted @ 2012-09-06 05:02 Joanna Qian 阅读(315) 评论(0) 推荐(0)
敏捷开发

摘要:什么是敏捷开发?敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。它不是一门技术,它是一种开发方法,也就是一种软件开发的流程,它会指导我们用规定的环节去一步一步完成项目的开发;而这种开发方式的主要驱动核心是人;它采用的是迭代式开发;敏捷软件开发方法是从多种久经验证的软件开发最佳实践演变而来的,这些最佳实践在组织管理团队和开发工作方面非常有效。敏捷软件开发过程可以进行裁剪,以适用于大型组织、分布式团队,以及其他复杂组织情况。敏捷软件开发专注于高度的协作、互动、增量开发,以及高质量的软件开发方式。相比传统软件项目管理方式,已经有众多的敏捷软件开发团队证实,敏 阅读全文
posted @ 2012-08-06 01:35 Joanna Qian 阅读(999) 评论(0) 推荐(0)
设计模式1-Factory Method

摘要:大部分摘自《深入浅出设计模式 》工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。工厂模式在《Java与模式》中分为三类:1)简单工厂模式(Simple Factory)2)工厂方法模式(Factory Method)3)抽象工厂模式(Abstract Factory)这三种模式从上到下逐步抽象,并且更具一般性。GOF在《设计模式》一书中将工厂模式分为两类:工厂方法模式(Factory Method)与抽象工厂模式(Abstract Factory)。将简单工厂模式(Simple Factory)看为工厂方法模式的一种特例,两者归为一类。一、简单 阅读全文
posted @ 2012-08-04 09:30 Joanna Qian 阅读(352) 评论(0) 推荐(0)
常用数据结构的英文说明

摘要:Arrays are the most commonly used data structure. Arrays are of fixed size, indexed, and all containing elements are of the same type (i.e. a homogenous collection). For example, storing employee details just read from the database as EmployeeDetail[ ], converting and storing a string as a byte arra 阅读全文
posted @ 2012-08-03 02:35 Joanna Qian 阅读(491) 评论(0) 推荐(0)

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3