📚 Edexcel D1 Revision: Decision Mathematics 1 for A-Level Further Maths | Edexcel D1 复习:A-Level 进阶数学决策数学1
Edexcel D1 Decision Mathematics 1 is a distinctive module within A-Level Further Mathematics that focuses on algorithms, graph theory, and optimisation. Unlike pure or mechanics modules, D1 trains you to think computationally and solve real-world problems using systematic methods. This revision guide walks through the key topics in the Edexcel D1 book, providing paired English and Chinese explanations to help you grasp both the concepts and the exam technique.
Edexcel D1 决策数学1 是 A-Level 进阶数学中一个独具特色的模块,专注于算法、图论和优化。与纯数或力学的模块不同,D1 训练你用系统化的方法进行计算思维并解决实际问题。这份复习指南将带你回顾 Edexcel D1 教材中的核心主题,提供中英对照讲解,帮助你既理解概念,又掌握应试技巧。
1. Algorithms and Sorting | 算法与排序
An algorithm is a finite sequence of precise instructions for solving a problem. In D1, you need to trace, apply, and analyse the efficiency of algorithms. Bubble sort repeatedly compares adjacent items and swaps them if they are in the wrong order. After each pass, the largest unsorted element bubbles to its correct position. The worst-case time complexity is O(n²).
算法是用于解决问题的一系列精确指令的有限序列。在 D1 中,你需要跟踪、应用并分析算法的效率。冒泡排序通过反复比较相邻元素,若顺序错误则交换它们。每一趟之后,最大的未排序元素冒泡到正确的位置。最坏情况下的时间复杂度为 O(n²)。
Quick sort selects a pivot, then partitions the list into items less than the pivot and items greater than the pivot. The sublists are recursively sorted. The number of comparisons depends heavily on the choice of pivot. Binary search works on a sorted list by repeatedly dividing the search interval in half; its complexity is O(log n).
快速排序选择一个基准(pivot),然后将列表划分为小于基准和大于基准的两部分,再递归地对子列表排序。比较次数极大程度上取决于基准的选择。二分查找在有序列表中通过反复将查找区间减半来工作,其时间复杂度为 O(log n)。
When tracing algorithms, always show each pass or iteration clearly. For bubble sort, list the full state after each pass; for quick sort, show the pivot choice and the partitioning process. Exam questions often ask you to count the number of comparisons or swaps, so keep a running tally.
跟踪算法时,要清楚地展示每一趟或每一次迭代。对冒泡排序,列出每一趟之后列表的完整状态;对快速排序,展示基准的选择和划分过程。考试题目常要求你统计比较次数或交换次数,因此要持续计数。
2. Graph Theory Fundamentals | 图论基础
A graph consists of vertices (nodes) and edges (arcs). In D1, graphs are used to model networks such as roads, pipelines, or project activities. A path is a sequence of edges connecting vertices; a cycle is a closed path where the start and end vertices are the same. A graph is connected if there exists a path between any pair of vertices. A tree is a connected graph with no cycles.
图由顶点(节点)和边(弧)组成。在 D1 中,图用于为道路、管道或项目活动等网络建模。路径是连接顶点的一系列边;回路是起点和终点相同的闭合路径。如果任意两个顶点之间都存在路径,则该图是连通的。树是无回路的连通图。
Important terminology includes the degree (or valency) of a vertex, which is the number of edges incident to it. A graph is Eulerian if it contains an Eulerian cycle – a trail starting and ending at the same vertex that uses every edge exactly once. A graph is semi-Eulerian if it possesses an Eulerian trail but not a cycle. The handshaking lemma states that the sum of the degrees of all vertices is exactly twice the number of edges.
重要术语包括顶点的度(或价),即与其相连的边的数量。如果一个图包含欧拉回路(一条起点和终点相同且每条边恰好使用一次的迹),则该图是欧拉图。如果一个图具有欧拉迹但没有欧拉回路,则为半欧拉图。握手引理指出,所有顶点的度之和恰好为边数的两倍。
Be comfortable with adjacency matrices and distance matrices. An adjacency matrix has entries 1 or 0 indicating whether vertices are directly connected; a distance matrix records the weight or length of each edge. When drawing a graph from a matrix, label vertices clearly and keep multiple edges or loops accurate.
要熟悉邻接矩阵和距离矩阵。邻接矩阵中元素为 1 或 0,表示顶点是否直接相连;距离矩阵记录每条边的权重或长度。根据矩阵画图时,需清晰地标出顶点,并准确绘制多重边或环。
3. Minimum Spanning Trees: Kruskal and Prim | 最小生成树:Kruskal 与 Prim 算法
A minimum spanning tree (MST) connects all vertices of a network with the minimum possible total edge weight. Two algorithms are tested in D1: Kruskal’s algorithm and Prim’s algorithm. Kruskal’s algorithm sorts all edges by weight, then adds the shortest edge that does not form a cycle, repeating until a tree of V-1 edges is formed. It is most easily applied by listing edges and checking for cycles using a checking system.
最小生成树(MST)以尽可能最小的总边权连接网络中的所有顶点。D1 考试涉及两种算法:Kruskal 算法和 Prim 算法。Kruskal 算法将所有边按权重排序,然后添加不形成回路的最短边,重复此过程直到形成拥有 V-1 条边的树。通过列出边并使用查重系统检查回路,最容易应用此算法。
Prim’s algorithm builds the MST from a starting vertex. At each step, you add the shortest edge connecting a vertex already in the tree to a vertex not yet in the tree. This can be done using an adjacency matrix or by drawing the growing tree. Both algorithms always produce the same total weight if all edge weights are unique; when there are ties, you must state the order in which you chose edges and be consistent.
Prim 算法从起始顶点开始构建最小生成树。每一步中,添加连接已在树中的顶点到尚未在树中的顶点的最短边。可以使用邻接矩阵或通过绘制逐步生长的树来完成。如果所有边的权重唯一,两种算法总是产生相同的总权重;当有权重相同的情况时,你必须说明选择边的顺序并保持一致性。
In exam questions, you often need to list the edges in the order they are chosen and calculate the total weight. Always indicate the reason for rejecting an edge (e.g. ‘would form a cycle’). For Prim, you may also need to use a table showing the temporary distances to each vertex.
考试题目常要求列出选择边的顺序并计算总权重。始终要指出拒绝某条边的原因(例如 ‘会形成回路’)。对于 Prim 算法,你可能还需要用表格展示每个顶点的临时距离。
4. Dijkstra’s Shortest Path Algorithm | Dijkstra 最短路径算法
Dijkstra’s algorithm finds the shortest path from a source vertex to all other vertices in a weighted graph with non-negative weights. It works by maintaining a set of permanently labelled vertices whose shortest distances are known. At each step, the vertex with the smallest temporary label is made permanent, and its neighbours’ distances are updated if a shorter route is found.
Dijkstra 算法在具有非负权重的加权图中寻找从源顶点到所有其他顶点的最短路径。它的工作原理是维护一组已确定最短距离的永久标记顶点。每一步中,临时标记最小的顶点被设为永久标记,如果找到更短路径,则更新其邻居的距离。
You show the algorithm using boxes at each vertex. The typical box contains the order of labelling, the shortest distance from the source, and sometimes the preceding vertex. Write the temporary values first, then circle or bold the permanent label. After completing the labelling, you can read the shortest path by tracing back from the destination using the preceding vertex information.
你在每个顶点处使用方框来展示算法。典型的方框包含标记顺序、从源点到该顶点的最短距离,有时还包含前驱顶点。先写出临时值,然后圈出或加粗永久标记。完成标记后,你可以利用前驱顶点信息从终点回溯,读出最短路径。
Dijkstra’s algorithm stops when the destination vertex (or all vertices) receives a permanent label. Never apply the algorithm when negative weights are present. If the question asks for the shortest path, always state the sequence of vertices and the total weight explicitly.
当目标顶点(或所有顶点)获得永久标记时 Dijkstra 算法停止。切勿在出现负权重时使用该算法。如果题目要求找出最短路径,一定要明确说明顶点序列和总权重。
5. Route Inspection Problem | 路径检查问题(中国邮递员问题)
The route inspection (Chinese postman) problem seeks the shortest route that traverses every edge of a network at least once, starting and ending at the same vertex. An Eulerian graph already has a cycle using each edge exactly once, so no repeated edges are needed. A semi-Eulerian graph requires traversing some edges twice; the optimal solution pairs the odd-degree vertices to minimise total extra distance.
路径检查(中国邮递员)问题旨在寻找一条遍历网络中每条边至少一次且起止于同一顶点的最短路线。欧拉图已经存在一条恰好使用每条边一次的回路,因此无需重复边。半欧拉图则需要重复某些边;最优解将奇数度顶点配对,以最小化额外的总距离。
To solve a route inspection problem, first identify the odd vertices. In a graph with 2k odd vertices, you must consider all possible pairings of these vertices and determine the shortest distance between each pair. The total extra weight added is the sum of these shortest distances. The length of the optimal route is the total weight of the graph plus the minimum extra weight from the best pairing.
解决路径检查问题时,首先找出奇度顶点。在一个有 2k 个奇度顶点的图中,你必须考虑所有可能的配对方式,并确定每对顶点的最短距离。增加的总额外权重是这些最短距离之和。最佳路线的长度等于图的原始总权重加上来自最佳配对的最小额外权重。
When the route does not need to end at the start vertex (semi-Eulerian trail with 2 odd vertices), you only add the shortest path between those two odd vertices. Exam questions often require you to list the repeated edges clearly and to state the final route.
当路线不必终点与起点相同时(具有 2 个奇度顶点的半欧拉迹),你只需添加这两个奇度顶点之间的最短路径。考试题目常要求你清楚地列出重复的边,并说明最终路线。
6. Critical Path Analysis | 关键路径分析
Critical path analysis (CPA) is used to model projects consisting of activities with durations and dependencies. An activity-on-node (AON) network uses nodes to represent activities, while an activity-on-arc (AOA) network uses arcs. In Edexcel D1, both methods may appear, but AON is the more common focus.
关键路径分析(CPA)用于对由具有持续时间和依赖关系的活动组成的项目进行建模。节点表示活动(AON)的网络使用节点代表活动,而箭线表示活动(AOA)的网络使用弧线。在 Edexcel D1 中,两种方法均可能出现,但 AON 是更常见的重点。
You perform forward pass to calculate the earliest start time (EST) and earliest finish time (EFT) for each activity. Then a backward pass gives the latest finish time (LFT) and latest start time (LST). The total float of an activity is LST – EST or LFT – EFT. Activities with zero total float are critical; they form the critical path, which determines the minimum project duration.
通过正向计算(forward pass)得出每项活动的最早开始时间(EST)和最早完成时间(EFT)。然后通过反向计算(backward pass)得到最晚完成时间(LFT)和最晚开始时间(LST)。一项活动的总浮动时间(total float)为 LST – EST 或 LFT – EFT。总浮动时间为零的活动为关键活动;它们构成关键路径,决定了最短的项目工期。
When constructing a precedence table, watch for dummy activities when using AOA networks. In AON, you simply draw arrows from predecessors to successors. Always show the EST and EFT in the top half of each node and the LST and LFT in the bottom half. Clearly mark the critical path on your diagram.
构建前序关系表时,若使用 AOA 网络要注意虚活动。在 AON 中,只需从前驱活动向后续活动绘制箭头。始终在每个节点的上半部分标出 EST 和 EFT,下半部分标出 LST 和 LFT。在图上清晰地标记出关键路径。
7. Linear Programming Formulation | 线性规划问题构建
Linear programming (LP) involves maximising or minimising a linear objective function subject to a set of linear constraints. In D1, you formulate an LP problem from a worded scenario. First, define your decision variables clearly, using x, y, etc., and state their units. Then write the objective function, e.g. Maximise P = 3x + 2y, and express each constraint as an inequality.
线性规划(LP)涉及在一组线性约束条件下,最大化或最小化一个线性目标函数。在 D1 中,你需要根据文字场景构建 LP 问题。首先清晰地定义决策变量,如使用 x、y 等,并说明其单位。然后写出目标函数,例如 Maximise P = 3x + 2y,并将每个约束条件表示为不等式。
Typical constraints involve limited resources, minimum requirements, and non-negativity (x ≥ 0, y ≥ 0). Spend time identifying the correct inequalities: look for ‘at most’ (≤), ‘at least’ (≥), and ‘exactly’ (=). Scale units carefully when needed. A clear problem formulation always yields full method marks even if later graph work has errors.
典型约束包括有限资源、最低要求和非负性(x ≥ 0, y ≥ 0)。花时间确定正确的不等式:留意 ‘至多’ (≤)、’至少’ (≥) 和 ‘恰好’ (=)。必要时仔细处理单位换算。清晰的问题构建即便后期作图有误,也总能获得满分的方法分。
8. Graphical Solution of Linear Programming | 线性规划的图解法
To solve a two-variable LP by graphical method, draw the feasible region defined by all constraints on a set of axes. Plot each constraint line, shade the unwanted region, and identify the clear feasible region. An objective line of the form ax + by = P is drawn for a chosen value of P, then slid parallel to find the optimal vertex.
要用图解法求解两变量线性规划问题,在一组坐标轴上画出所有约束条件定义的可行域。绘制每条约束直线,涂黑或阴影化不可行区域,确定清晰的可行域。为选定的 P 值画出形式为 ax + by = P 的目标线,然后平行移动它寻找最优顶点。
The optimal solution occurs at a vertex (corner) of the feasible region. You can test all vertices by substituting coordinates into the objective function, or use the objective line method. If the problem asks for integer solutions, draw a grid and test integer points near the boundary. Always state the final optimal values of x and y and the maximum or minimum value of the objective.
最优解出现在可行域的一个顶点(角点)上。你可以将所有顶点的坐标代入目标函数进行检验,或者使用目标线法。如果问题要求整数解,绘制网格并在边界附近的整数点进行检验。始终明确给出 x 和 y 的最优值,以及目标函数的最大值或最小值。
Be meticulous with ruler-drawn lines and labelling. Clearly mark the feasible region and write the coordinates of each vertex. If you use the sliding rule method, draw at least two objective lines to indicate direction. For integer linear programming, always check neighboring integer points to confirm optimality.
用尺子精确绘制直线并做好标记。清晰标示可行域并写出每个顶点的坐标。如果使用平移目标线法,至少画出两条目标线以指示方向。对于整数线性规划,一定要检查相邻整数点以确保最优性。
9. Matching Problems | 匹配问题
A matching pairs vertices from one set to another, with no vertex used more than once. A maximal matching is one where no more edges can be added; a maximum matching has the greatest possible number of edges. The alternating path algorithm improves an initial matching to find a maximum matching. An alternating path starts from an unmatched vertex and alternates between edges not in the matching and edges in the matching.
匹配将一个集合中的顶点与另一个集合配对,且每个顶点最多使用一次。极大匹配(maximal matching)是无法再添加边的匹配;最大匹配(maximum matching)是边数尽可能多的匹配。交替路径算法通过改进初始匹配来找到最大匹配。交替路径从一个未匹配的顶点开始,交替经过不在匹配中的边和在匹配中的边,直到找到另一未匹配顶点。
When applying the algorithm, clearly illustrate the current matching and the alternating path you are following. Change the status of the edges along the path (non-matching becomes matching, matching becomes non-matching) to increase the number of matching edges by one. Repeat until no further alternating path can be found.
应用算法时,清楚地展示当前匹配和你正在遵循的交替路径。改变路径上边的状态(非匹配边变为匹配边,匹配边变为非匹配边)以使匹配边数增加一条。重复此过程,直到无法找到更多交替路径。
In bipartite graphs, maximum matching problems often model tasks to workers or applicants to jobs. The exam may present a bipartite graph or a matrix. State your final maximum matching and confirm that it is indeed maximum by showing no alternating path exists from any unmatched vertex.
在二分图中,最大匹配问题常将任务分配给工人或应聘者分配给工作。考试可能给出二分图或矩阵。陈述你最终的最大匹配,并通过展示从任何一个未匹配顶点都不存在交替路径来确认它确实是最大的。
10. Exam Tips and Common Pitfalls | 考试技巧与常见错误
D1 exams test accuracy and systematic working. Always show full working for algorithm tracing; failing to show intermediate steps is the most common reason for lost marks. For sorting, clearly number each pass. For graphs, label vertices and edges legibly. When applying Kruskal, always state ‘reject… because it forms a cycle’. For Dijkstra, write both temporary and permanent labels.
D1 考试考查准确性和系统化的解题过程。始终展示完整的算法跟踪过程;不展示中间步骤是失分的最常见原因。对排序,清楚地为每一趟编号。对图论题,清晰标注顶点和边。应用 Kruskal 算法时,一定要表述 ‘拒绝… 因为会形成回路’。对 Dijkstra 算法,要同时写出临时和永久标记。
Watch out for misreading constraints in linear programming: direction of inequalities is critical. When constructing a graph from a table, carefully note one-way or two-way edges. In critical path analysis, always double-check the forward and backward pass totals; a single arithmetic error can propagate. Practice with past papers to become familiar with the wording of ‘find the optimal route’ versus ‘find the shortest path’ and ‘state the minimum time’.
小心线性规划中对约束的误读:不等号的方向至关重要。根据表格构建图时,注意单向边还是双向边。在关键路径分析中,务必双重检查正向和反向计算的总和;一个算数错误可能会传播。通过历年真题练习,熟悉 ‘找出最优路线’、’找出最短路径’ 和 ‘陈述最短时间’ 这些措辞的细微差别。
Timing is important; D1 questions can be lengthy in writing. If a question asks for the name of an algorithm, use precise terminology (e.g. ‘Kruskal’s algorithm’ not ‘the one with the edges’). Never abbreviate ‘alternating path’ without explanation. With consistent practice and attention to detail, D1 becomes one of the most straightforward modules to secure high marks.
时间管理很重要;D1 题目的书写量可能较大。如果题目问算法名称,使用精确的术语(例如 ‘Kruskal 算法’ 而不是 ‘用边的那种’)。不要在没有解释的情况下简写 ‘交替路径’。通过持续练习和对细节的关注,D1 会成为最易取得高分的模块之一。
Published by TutorHao | Further Mathematics Revision Series | aleveler.com
更多咨询请联系16621398022(同微信)
屏轩国际教育cambridge primary/secondary checkpoint, cat4, ukiset,ukcat,igcse,alevel,PAT,STEP,MAT, ibdp,ap,ssat,sat,sat2课程辅导,国外大学本科硕士研究生博士课程论文辅导