Home > Industries > Software

Source: Internet
Author: User

Tags: computer tags min. Computer Science Overview perception Usability xxxxx Equal

20172304 2018-2019 "Java software architecture and data Structure" chapter I chapter II Summary of learning contentsChapter I. Overview

1.1 Software Quality:

Several features of high-quality software:

Reliability: Frequency and degree of risk of software failures

Robustness: The extent to which an error can be handled appropriately

Usability: How easy it is for users to learn and perform tasks

Maintainability: How easy it is to make changes to the software

Reusability: The ease with which software components can be reused for the development of other software systems

Portability: How easy it is for software components to be used in multiple computer environments

Operational efficiency: the degree to which the software accomplishes its objectives without wasting resources

1.2 Data structures (how computers store and organize data)

program = data structure + algorithm

Software = Program Plus software engineeringChapter Two algorithm analysis

2.1 Algorithm Efficiency analysis

Algorithmic efficiency is typically expressed by CPU usage time

Algorithm analysis is the analysis of the algorithm from the angle of efficiency

Algorithmic analysis is the foundation of computer Science

2.2 Growth function and Big O notation

Growth function: Represents the relationship between the size of the problem (n) and the value we want to optimize the function represents the time complexity of the algorithm (CPU usage time) and space complexity (memory space)

The asymptotic complexity of the algorithm (the general nature of the growth function as n grows)

Focus on the main item of the function (that is, the fastest growing one)

Progressive complexity is called the Order of the algorithm

Comparison between the items of the growth function

the number of plates | 15N2 | 15n | 15n2+45n |
---|---|---|---|

1 | 15 | 45 | 60 |

2 | 60 | 90 | 150 |

5 | 375 | 225 | 600 |

10 | 1500 | 450 | 1950 |

100 | 150 000 | 4500 | 154500 |

1000 | 15 000 000 | 45000 | 15045000 |

10 000 | 1 500 000) 000 000 | 450 000 | 1 5000 450 000 |

100 000 | 150 000 000 000 | 4 500 000 | 150 004 500 000 |

1 000 000 | 15 000 000) 000 000 | 15 000 000 | 15 000 045) 000 000 |

10 000 000 | 1 500 000 000 000 000 | 450 000 000 | 1 500 000 450 000 000 |

Some growth functions and their asymptotic complexity

| Growth Function | order | mark

|t (n) =17| O (1) | Constant Type |

|t (n) =3log n| O (log n) |

|t (n) =20n-4| O (n) | linear |

|t (n) =12n log n+100n| O (n log n) |n log n|

|t (n) =3n2+5n-2| Square type |

|t (n) = 8n^3+3n2| O (n^3) | cubic type |

|t (n) =2^n+18n2+3n| O (2^n) | O (2^n) | index type |

If two algorithms complete the same task with different growth functions, such as O (N2), then the two are largely equal in terms of operational efficiency.

2.3 Comparison of growth functions

Problems in teaching materials learning and the solving process- Question 1:xxxxxx
- Issue 1 Solution: XXXXXX
- Question 2:xxxxxx
- Issue 2 Solution: XXXXXX
- ...

- Question 1:xxxxxx
- Issue 1 Solution: XXXXXX
- Question 2:xxxxxx
- Issue 2 Solution: XXXXXX
- ...

(run result of statistics.sh script)

Last week's summary of the wrong quiz- Wrong question 1 and reason, understand the situation
- Wrong question 2 and reason, understand the situation
- ...

- Blogs that are worth learning or questions:
- Xxx
- Xxx
- ...

- Something worth learning or doing in your code:
- Xxx
- Xxx
- ...

- Based on the scoring criteria, I scored this blog: xx points. The score is as follows: XXX

- This week's study of the knot
- 20172310
- Pairs of learning content
- Xxxx
- Xxxx
- ...

- Last week's blog comments on the situation
- Study No. 1
- Study No. 2
- Study No. 3

- Study No. 4
...

Other (sentiment, thinking, etc., optional)

Xxx

Learning progress BarXx

lines of code (new/cumulative) | Blog Volume (Add/accumulate) | Learning Time (new/cumulative) | Important Growth | |
---|---|---|---|---|

Goal | 5000 rows | 30 Articles | 400 hours | |

First week | 075/200 | 1/1 | 05/20 | |

Second week | 560/500 | 1/2 | 13/38 | |

Third week | 972/1000 | 1/4 | 21/60 | |

Week Four | 694/1666 | 1/5 | 21/90 | |

Week Five | 1544/3095 | 1/6 | 30/90 | |

Week Six | 600/3627 | 1/7 | 30/120 |

1.

2.

3.

4.

20172304 2018-2019 "Java software architecture and data Structure" chapter I chapter II study summary

Related Article