- 博客(21)
- 收藏
- 关注
原创 [c++基础] 序
目录程序设计基本概念预处理,const指针与sizeof共有数据保护,静态成员,运算符重载指针与引用函数参数传递,数组面向对象基础:类的四个基本函数封装,继承和多态模板与深/浅复制内存,堆栈,资源,异常处理相关问题四种类型转换和隐式类型转换STL智能指针
2017-04-18 16:31:29 197
原创 [课程设计] Medrank高维近似最近邻查询算法
项目简介:以B+树为索引的基于随机投影技术的高维近似最近邻查询(1) 关于c-ANN:(2) 关于Medrank:(3) 关于数据集:阶段简介:B+树节点:B+树草图:几个问题:1.为什么不用哈希索引?
2017-04-23 10:16:55 940
原创 [SYSU实训] Agenda
项目简介:开发一个基于命令行的议程管理系统。系统需提供用户登录,新用户注册,已注册用户登陆后用户可以注销(delete)当前用户账户,查询(query)用户名单,也可以添加(add)、删除(delete)、查询(query)系统中记录的会议安排等管理功能。在这个案例中,利用面向对象程序的设计和实现技术,按用户需求对整个程序框架进行设计和实现,并逐步完成基本和扩展功能。通过此项目掌握在Lin
2017-04-23 10:08:03 2002
原创 [SYSU实训] GridWorld
项目简介: GridWorld案例是一个基于图形化环境用于可视化对象在二维网格中的交互。设计和制造各种Actor的对象,将它们添加到一个网格中,并且根据一定的规则决定Actor的行为。此外还有增加了两个扩展任务, N-Puzzle和MazeBug。N-Puzzle:利用广度优先搜索算法,启发式搜索A*算法完成重拼图游戏;MazeBug:采用深度优先搜索走出迷宫。通过此项目实训能
2017-04-23 09:56:56 4883
原创 [系分] 细化阶段-基础迭代
Iteration 1 Basics阅读书上第8章在迭代开发中不是一次性实现所有需求,而是在多次迭代中对同一个用例进行增量开发Elaboration(细化)是一般项目中最初的一系列迭代构建核心架构定义主要需求解决/规避高风险元素、估计整体进度安排和资源相关制品领域模型设计模型:软件类图、对象交互图、包图软件架构文档数据模型:数据库建模用例stor
2017-04-23 09:46:13 632
原创 [系分] 初始阶段
初始阶段:利益相关人就产品范围、愿景、使用场景达成一致Inception is not requirements phase阅读书上第4章Inception Phase 初始阶段:预见项目的范围、设想和业务案例初始阶段需要考虑的事情:继续还是停止?购买还是自己构建?话费?涉众是否有统一看法?大多数analysis 是在elaboration中进行的incepti
2017-04-23 09:41:43 687
原创 [Spring MVC] 入门基础
(ps: 这篇文章简要的讲述 JavaWeb开发的 Spring MVC 框架基础,由于是初学Spring MVC,然后便上手做系统分析与设计的大作业,做的总结可能有些瑕疵,对一些概念的理解可能比较片面,欢迎大神纠错)目录:目录MVC框架优点缺点Spring的MVC框架简单原理第一步pomxml第二步webxml第三步Controller类第四步spring-servletxml
2017-04-18 15:52:23 292
原创 [系分] 活动图Activity diagram
例子:淘宝退货业务亲,收到商品描述不符,请按照以下步骤操作:1.若交易还未确认收货,您可以登录【我的淘宝】—【已买到的宝贝】找到对应订单,在订单后面点击【退款/退货】( 如何申请退款? ),同时上传商品描述不符的相关凭证。2.若订单已经交易成功且时间在15天内,您可以登录【我的淘宝】—【已买到的宝贝】找到对应订单,在订单后面点击【申请售后】( 如何申请售后? ),同时上传商
2017-04-13 14:26:33 915
原创 [系分] Domain Model
一组没有定义操作(方法的特征标记)的类图,也称为概念类图步骤:(1)寻找概念类概念类:思想,事物或对象(也就是说找名词)描述类:描述其他事物的信息,如Flight和Airport之间最好添加一个FlightDescription这个描述类。(2)将其绘制为UML类图的类(3)添加关联和属性关联:名称需要首字母大写,一般以类名-动词
2017-04-13 09:52:50 774
原创 [系分]SE&OOAD&UP
SE(软件工程)软件工程的概念在导论这门课介绍的比较清楚。这个地方,我们回想这几个概念,有个自己的理解就好:理解软件工程为什么学软工?软工的知识体系若干重要概念软工的演变与趋势OOAD几个课外的概念software crisis:is a term used in the early days of computing s
2017-04-09 14:08:09 477
原创 [c++基础] STL
1. STLcapacity()和reserve()函数在C++中,理解capacity和size之间的区别非常重要。容器的size是指它已经保存的元素的数目;而capacity则是在不分配新的内存空间的前提下它最多可以保存多少元素。 当创建空容器时,容量(capacity)为 0;当用完时,增加原容量为原来2倍。 capacity适用如vector这种元素连续存储的容
2017-04-05 16:55:25 224
原创 [c++基础] 内存,堆栈,资源,异常处理相关问题
1.程序运行的内存空间分布BSS段:(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS段属于静态内存分配。这个段中的变量只占用程序运行时的内存空间,而不占用程序文件的储存空间.data段:数据段(data segment)通常是指用来存放程序中 已初始化的全局变量 的一块内存区域。数据段属于静态内存分配。rodata段: 该段是常量数据段,用于
2017-04-05 16:38:33 365
原创 [c++基础] 智能指针
设计原理:将基本类型指针封装为类对象指针(这个类肯定是个模板,以适应不同基本类型的需求),并在析构函数里编写delete语句删除指针指向的内存空间。auto_ptr 则C++会把m_example所指向的内存回收,使m_example1 的值为NULL,所以在C++中,应绝对避免把auto_ptr放到容器中。即应避免下列代码:vector>m_example;当对容
2017-04-05 16:30:18 283
原创 [c++基础] 四种类型转换和隐式类型转换
static_cast( expression ) 用于数值类型之间的转换,也可以用于指针之间的转换,编译时已经确定好,效率高,但须要自己保证其安全性。(1)用于数值之间的转化, 可以在相关指针在void* 之间转换 (2)在基类和派生类之间进行转换(必须是有继承关系的两个类之间)上行转换:子类指针或引用转换成基类表示——安全下行转换:基类指针或引
2017-04-05 15:40:52 3801
原创 [计算机网络] 基础
1.分层模型: 2. TCP UDP区别:1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保 证可靠交付3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UD
2017-04-05 14:21:35 195
原创 Linux编程基础知识
关于常用命令:1. cdcd ./目录 进入到对应目录cd ../ 返回上一级的目录cd/home 直接进入home目录2. ls ls 列出当前目录所有文件ls -a 列出当前目录包括隐藏文件的所有文件ls ./目录 列出对应目录中所有文件3.mkdirmkdir test 命令后接要创建的目录的名称
2017-04-05 09:39:16 210
原创 [算法] 查找
1. 二分查找复杂度分析: 最坏情况下,关键词比较次数为[log 2 (n+1)]+1,且 期望时间复杂度为O(log 2 n) //二分查找,递归版本int BinarySearch2(int a[], int value, int low, int high) { int mid = low+(high-low)/2; if(a[mid]==value) return
2017-04-04 23:21:11 233
原创 makefile的简单使用
makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具Makefile的规则 target... : prerequisites ... command
2017-04-02 17:08:28 306
原创 Ant构建工具
使用 Ant 是为了实现项目的自动部署与构建,简单点说就是不用我们在终端输入javac XXX.java编译然后又要用Java XXX去运行,它可以一步实现这些步骤。此外我们还能利用它来打包一些文件,包括.class类等。具体使用方法就是要事先创建 build.xml文件并置于代码根目录中,然后在终端进入到 build.xml 所在目录并运行 ant。1.Ant的关键元素proje
2017-04-02 16:04:47 706
原创 Java与C++
Java 与 C++区别:1.指针 JAVA语言让编程者无法找到指针来直接访问内存,并且增添了自动的内存管理功能,从而有效地防止了c/c++语言中指针操作失误,如野指针所造成的系统崩溃。但也不是说JAVA没有指针,虚拟机内部还是使用了指针,只是外人不得使用而已。这有利于Java程序的安全。 2.多重继承 c++支持多重继承,这是c++的一个特征,它允许多父类派生一个类。尽管多重
2017-04-02 15:25:11 300
原创 [算法] 字符串
1. 最长公共子序列子串应该比较好理解,至于什么是子序列,这里给出一个例子:有两个母串: cnblogs belong比如序列bo, bg, lg在母串cnblogs与belong中都出现过并且出现顺序与母串保持一致,我们将其称为公共子序列。最长公共子序列(Longest Common Subsequence, LCS),顾名思义,是指在所有的子序列中最长的那一个。子串是要求更严格的一种
2017-04-02 12:31:15 152
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人