Back to 课程

Computer-Science-A-level-Ocr

0% Complete
0/0 Steps
  1. 3-3-networks
    8 主题
  2. 3-2-databases
    7 主题
  3. 3-1-compression-encryption-and-hashing
    4 主题
  4. 2-5-object-oriented-languages
    7 主题
  5. 2-4-types-of-programming-language
    4 主题
  6. 2-3-software-development
    5 主题
  7. 2-2-applications-generation
    6 主题
  8. 2-1-systems-software
    8 主题
  9. 1-3-input-output-and-storage
    2 主题
  10. 1-2-types-of-processor
    3 主题
  11. 1-1-structure-and-function-of-the-processor
    1 主题
  12. structuring-your-responses
    3 主题
  13. the-exam-papers
    2 主题
  14. 8-2-algorithms-for-the-main-data-structures
    4 主题
  15. 8-1-algorithms
    10 主题
  16. 7-2-computational-methods
    11 主题
  17. 7-1-programming-techniques
    14 主题
  18. 6-5-thinking-concurrently
    2 主题
  19. 6-4-thinking-logically
    2 主题
  20. 6-3-thinking-procedurally
    3 主题
  21. 6-2-thinking-ahead
    1 主题
  22. 6-1-thinking-abstractly
    3 主题
  23. 5-2-moral-and-ethical-issues
    9 主题
  24. 5-1-computing-related-legislation
    4 主题
  25. 4-3-boolean-algebra
    5 主题
  26. 4-2-data-structures
    10 主题
  27. 4-1-data-types
    9 主题
  28. 3-4-web-technologies
    16 主题
课 Progress
0% Complete

Dijkstra’s Shortest Path Algorithm

What is Dijkstra’s shortest path algorithm?

  • In A Level Computer Science, Dijkstra’s shortest path algorithm is an example of an optimisation algorithm that calculates the shortest path from a starting location to all other locations

  • Dijkstra’s uses a weighted graph in a similar manner to a breadth first search to exhaust all possible routes to find the optimal route to the destination node

  • To revise Graphs you can follow this link

  • Each route is represented as an arc/edge from a node/vertex. Each edge carries a weighted value which represents some measurement, for example time, distance or cost

  • An illustrated example of Dijkstra’s is shown below

What is an optimisation problem?

  • Optimisation problems involve maximising the efficiency of a solution to solve the stated problem. Examples of optimisation problems can include:

    • Finding the shortest route between two points. This is used for planning journeys, creating networks, building circuit boards, etc.

    • Minimising resource usage in manufacturing or games

    • Timetabling lessons in school or office meetings

    • Scheduling staff breaks and work hours

  • The most common optimisation problem encountered in daily life is finding the shortest route from A to B. Various apps exist to calculate these distances, such as Google Maps or road trip planners

Performing Dijkstra’s shortest path algorithm

dijkstra-s-algorithm-1-revision-notes-computer-science

1) Set A path to 0 and all other path weights to infinity

dijkstra-s-algorithm-2-revision-notes-computer-science

2) Visit A. Update all neighbouring nodes path weights to the distance from A + A’s path weight (0)

dijkstra-s-algorithm-3-revision-notes-computer-science

3) Choose the next node to visit that has the lowest path weight (D). Visit D. Update all neighbouring, non-visited nodes with a new path weight if the old path weight is bigger than the new path weight. C is updated from 5 to 3 as the new path is shorted (A > D > C)

dijkstra-s-algorithm-4-revision-notes-computer-science

4) Choose the next node to visit that has the lowest path weight (E). Visit E. Update all neighbouring, non-visited nodes from E with a new path weight. F is updated from 7 to 5 as the new path is shorter (A > D > E > F)

dijkstra-s-algorithm-5-revision-notes-computer-science

5) Choose the next node to visit, alphabetically (B). Visit B. Update all neighbouring non-visited nodes from B with a new weight if the path is less than the current path. C is not updated as A > B > C is 4

dijkstra-s-algorithm-6-revision-notes-computer-science

6) Choose the next lowest node and visit (C). Update C’s neighbours if the new path is shorter than the old path. A > D > C > G is 8, so G is not updated

dijkstra-s-algorithm-7-revision-notes-computer-science

7) Choose the next lowest node and visit (F). Update F’s neighbours if the new path is shorter than the old path. F has no non-visited neighbours so no updates are made

<div class=”mb-5″

Responses

您的邮箱地址不会被公开。 必填项已用 * 标注