修改 协作工具,和 工具与思想 一节.
Signed-off-by: lion187 <cy187lion@sina.com>
This commit is contained in:
parent
65c013174b
commit
2b5dea29a6
@ -6,6 +6,11 @@
|
||||
|
||||
Git 版本管理工具提供本地和远程版本管理功能。支持分支管理和 Tag 创建等。通常来讲,一个 Tag 对应一个稳定的软件版本。
|
||||
|
||||
使用 Git 前需要进行简单配置,在命令行中输入以下命令及参数设置 Git 用户名和 Email。
|
||||
|
||||
git config --global user.name "Your Name"
|
||||
git config --global user.email "YourEmail@example.com"
|
||||
|
||||
### 3.8.1.1 创建仓库
|
||||
|
||||
软件版本管理依赖于软件仓库的概念,一个软件仓库包容了要进行版本管理的源码和 Release 发布等内容。
|
||||
|
@ -1 +1,23 @@
|
||||
# 4.1 工具与思想
|
||||
|
||||
## 4.1.1 工具与思想
|
||||
|
||||
在之前的课程中,我们学习了计算机编程语言以及用于团队协作的软件。这些都是进行软件开发所必备的,或有助于进行软件开发的工具。有了工具,就可以制造不同的软件产品出来,就好比有了榔头、螺丝刀、加工车床等就可以制造汽车一样。
|
||||
|
||||
虽然工具是相同的,但是想法可以是不同的,因此可以设计和制造出不同的产品。同样的汽车生产线,可以生产出不同型号的汽车,这是因为设计图纸不同。在软件上,即便是需求相同,也仍然可以采用不同的思想去设计,最终体现在了软件设计方案上。软件的总体结构、各部分的实现算法、数据结构以及设计模式是软件思想的主要内容,也是软件设计方案的中的重要组成部分。
|
||||
|
||||
随着计算机和软件开发技术的发展,软件开发思想也在不断的演变,形成了一整套的设计模式、算法模式和分析模式。可以将其理解为软件开发的套路。更重要的是,这些方法,有助于分析和解决软件问题,优化计算机系统,提高代码质量和可靠性。
|
||||
|
||||
## 4.1.2 数据结构、算法与设计模式
|
||||
|
||||
计算机算法有很多内容,比如针对数据进行的排序、查找、添加、删除。当然,还可以有积分、微分、插值和拟合等算法。不同的算法有不同的应用领域,但通常,算法都与数据结构紧密结合。例如以数组为基础实现二分查找算法,但数组容量有限,如果需要动态增减数据内容并且达到类似二分查找的效果,则可以使用二叉树。
|
||||
|
||||
## 4.1.3 算法的好坏
|
||||
|
||||
我们评估一种算法的优劣,可以使用它的时间复杂度和空间复杂度来衡量。时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。如果不作特殊说明,我们一般讨论的是在最坏情况下,该算法的时间复杂度和空间复杂度。
|
||||
|
||||
在电影《模仿游戏》中,图灵机必须在极其有限的时间内破解德军使用的密码,否则德军就会更换新的密码。可见人们往往是非常关注时间复杂度的。可以使用 大O 表示法来度量算法的时间成本。例如从头到尾顺序访问一个数组中全部元素算法的时间复杂度是 O(N)。如果为了求解某问题,A 算法的时间复杂度是 O(N),而 B 算法的时间复杂度是 O(1),则在求解该问题时,算法 B 要快过算法 A。
|
||||
|
||||
## 4.1.4 设计模式的好坏
|
||||
|
||||
时间复杂的与空间复杂度
|
Loading…
x
Reference in New Issue
Block a user