Câu hỏi: BDI302c Dữ liệu lớn – Bộ ôn tập thi lại số 1
73 câu trắc nghiệm kèm lời giải của môn BDI302c - Dữ liệu lớn, xếp đúng thứ tự trong đề. Trang 2/4 — câu 21–40.
Danh sách câu hỏi
40/73 câuCòn 33
21What is a characteristic of streaming data?4 lựa chọn
AData is unbounded in size but requires only finite time and space to process it.
BThe data is unbounded in size and the size determines the time and space of processing the data.
CThe data is finite and requires only finite time and space to process the data.
DData is finite in size and size determines the time and space of processing the data.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Data is unbounded in size but requires only finite time and space to process it.". Dữ liệu luồng (streaming data) đến liên tục, không có điểm kết thúc nên kích thước không bị chặn (unbounded); vì không thể đợi gom đủ rồi mới tính, hệ xử lý luồng xử lý từng phần tử hoặc từng cửa sổ (window) nhỏ khi nó tới và chỉ giữ một trạng thái gọn, nên mỗi bước tốn thời gian và bộ nhớ hữu hạn dù dòng dài bao nhiêu. "The data is unbounded in size and the size determines the time and space of processing the data." sai vì nếu chi phí tăng theo kích thước của một dòng vô hạn thì không hệ nào xử lý nổi; xử lý luồng ra đời chính để tách chi phí khỏi tổng kích thước. "The data is finite and requires only finite time and space to process the data." mô tả một tập dữ liệu tĩnh có kích thước biết trước, không phải dòng liên tục. "Data is finite in size and size determines the time and space of processing the data." là đặc trưng của xử lý theo lô (batch) truyền thống, khi thời gian chạy tăng theo dung lượng tập dữ liệu.
22What would be the two possible solutions associated with "big data" information integration? (Choose 2)5 lựa chọn
AProbabilistic Schema Mapping
BCustomer Transactions
CPay-as-you-go Model
DMediated Schema
EAttribute Grouping
Lời giải
Mở trang câu hỏi này →Đáp án đúng gồm hai ý: "Probabilistic Schema Mapping" và "Pay-as-you-go Model". Tích hợp thông tin (information integration) với dữ liệu lớn khó vì số nguồn rất nhiều và lược đồ thay đổi liên tục, nên không thể thiết kế tay một lược đồ chung hoàn hảo từ đầu. Probabilistic schema mapping (ánh xạ lược đồ xác suất) gán cho mỗi cách ghép thuộc tính giữa nguồn và lược đồ chung một xác suất thay vì đòi một ánh xạ duy nhất chắc chắn; pay-as-you-go model (mô hình tích hợp dần theo nhu cầu) cho hệ thống chạy ngay với mức tích hợp sơ bộ rồi tinh chỉnh dần khi cần. "Mediated Schema" là cách làm truyền thống, dựng trước một lược đồ trung gian toàn cục, khó mở rộng cho hàng nghìn nguồn biến động. "Attribute Grouping" là một bước kỹ thuật bên trong khi sinh lược đồ, gom các thuộc tính tương tự, chứ không phải giải pháp độc lập. "Customer Transactions" là một loại dữ liệu, không phải giải pháp tích hợp.
23Which Big Data tool is used to ingest log data?4 lựa chọn
ASqoop
BFlume
CHive
DPig
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Flume". Apache Flume là dịch vụ phân tán chuyên thu gom, tổng hợp và nạp (ingest) khối lượng lớn dữ liệu log từ nhiều máy chủ vào kho lưu trữ tập trung như HDFS hay HBase, theo mô hình source, channel, sink chạy liên tục. "Sqoop" cũng là công cụ nạp dữ liệu nhưng dành cho dữ liệu có cấu trúc: chuyển bảng qua lại giữa cơ sở dữ liệu quan hệ như MySQL, Oracle và Hadoop theo lô, không thiết kế cho dòng log phát sinh liên tục. "Hive" là kho dữ liệu trên Hadoop cho phép truy vấn bằng HiveQL giống SQL trên dữ liệu đã nằm trong HDFS, tức là khâu phân tích chứ không phải khâu nạp. "Pig" là nền tảng xử lý với ngôn ngữ kịch bản Pig Latin để biến đổi dữ liệu đã lưu, cũng không làm nhiệm vụ thu gom log.
24ZooKeeper is primarily used for:4 lựa chọn
AData mining
BCoordination services (e.g., configuration, synchronization)
CFull cluster resource management
DBoth a and c
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Coordination services (e.g., configuration, synchronization)". ZooKeeper là dịch vụ điều phối tập trung cho ứng dụng phân tán: nó lưu dữ liệu nhỏ trong cây znode, cung cấp nơi giữ cấu hình chung, khoá phân tán để đồng bộ, đặt tên, theo dõi nút nào còn sống và bầu chọn nút chủ; HBase, Kafka hay HDFS chế độ sẵn sàng cao đều dựa vào nó. "Data mining" sai vì ZooKeeper không phân tích dữ liệu, nó chỉ giữ trạng thái điều phối. "Full cluster resource management" sai vì quản lý và cấp phát tài nguyên của cả cụm là việc của YARN với ResourceManager; ZooKeeper có thể giúp ResourceManager chuyển đổi dự phòng nhưng không tự cấp CPU, bộ nhớ. "Both a and c" ghép khai phá dữ liệu với quản lý toàn bộ tài nguyên cụm, hai việc đều không phải chức năng của ZooKeeper nên cũng sai.
AData that lacks a predefined data model and does not fit well into relational databases.
BData organized into rows and columns, typically stored in spreadsheets.
CData that follows a strict schema with defined relationships between entities.
DData stored in a hierarchical format, often used in XML files.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Data that lacks a predefined data model and does not fit well into relational databases.". Dữ liệu phi cấu trúc là dữ liệu không có mô hình dữ liệu định nghĩa trước, như văn bản tự do, email, ảnh, âm thanh, video; nó không chia sẵn thành hàng và cột nên không đặt vừa bảng của cơ sở dữ liệu quan hệ và phải dùng kỹ thuật như xử lý ngôn ngữ tự nhiên hay thị giác máy để rút thông tin. Phương án "organized into rows and columns, typically stored in spreadsheets" mô tả dữ liệu có cấu trúc dạng bảng, ngược với phi cấu trúc. Phương án "follows a strict schema with defined relationships between entities" cũng là dữ liệu có cấu trúc trong cơ sở dữ liệu quan hệ với lược đồ và khoá ngoại. Phương án "Data stored in a hierarchical format, often used in XML files." là dữ liệu bán cấu trúc: không có lược đồ cứng nhưng có thẻ và quan hệ cha con, nên vẫn có cấu trúc nhất định.
AThe language specifies the process of how to obtain the data.
BThe language specifies both the process of how to obtain the data and specifies what data to obtain.
CThe language specifies what data to obtain.
DA language specific declaration of data types in order to define the method of data retrieval.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "The language specifies what data to obtain.". Ngôn ngữ truy vấn khai báo (declarative) như SQL, HiveQL hay Cypher chỉ yêu cầu người dùng mô tả kết quả muốn có: lấy cột nào, từ bảng nào, thoả điều kiện gì; còn cách lấy, như dùng chỉ mục nào, nối theo thứ tự nào, chạy song song ra sao, do bộ tối ưu truy vấn của hệ thống tự quyết. "The language specifies the process of how to obtain the data." là định nghĩa của ngôn ngữ thủ tục hay mệnh lệnh (imperative), nơi người viết phải chỉ ra từng bước như vòng lặp duyệt bản ghi. "The language specifies both the process of how to obtain the data and specifies what data to obtain." sai vì tinh thần khai báo chính là không bắt người dùng nêu quy trình. "A language specific declaration of data types in order to define the method of data retrieval." chỉ chơi chữ với từ declaration; khai báo kiểu dữ liệu là việc định nghĩa lược đồ, không phải đặc điểm của ngôn ngữ truy vấn khai báo.
27When working with CSV files, which of the following best represents the concept of a data model?4 lựa chọn
AThe organization of data elements and relationships within the file
BThe specific file format used to store data
CThe process of converting data into a different format
DThe way data is displayed to end-users
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "The organization of data elements and relationships within the file". Mô hình dữ liệu (data model) mô tả cấu trúc của dữ liệu: gồm những phần tử nào, mỗi phần tử có kiểu gì, liên hệ với nhau ra sao, cùng các ràng buộc và phép toán trên chúng. Với tệp CSV, mô hình dữ liệu là cách tổ chức thành các dòng bản ghi, các cột trường ngăn bởi dấu phẩy, dòng tiêu đề đặt tên cột và quan hệ giữa các giá trị trong một bản ghi. "The specific file format used to store data" chỉ là định dạng vật lý ở tầng lưu trữ; cùng một mô hình bảng có thể lưu dưới CSV, Parquet hay bảng SQL. "The process of converting data into a different format" là chuyển đổi định dạng, một thao tác trên dữ liệu chứ không phải mô hình. "The way data is displayed to end-users" là tầng trình bày, phụ thuộc giao diện chứ không phản ánh cấu trúc của dữ liệu.
ADisease data from the Centers for Disease Control.
BSatellite Data
CSocial Media
DMultimedia
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Disease data from the Centers for Disease Control.". Dữ liệu lớn thường được chia theo nguồn sinh ra: máy móc, con người và tổ chức. Organizational data (dữ liệu tổ chức) là dữ liệu mà doanh nghiệp hay cơ quan ghi nhận trong hoạt động của mình như giao dịch, hồ sơ, thống kê; dữ liệu bệnh tật do Trung tâm Kiểm soát Dịch bệnh tập hợp từ báo cáo của cơ sở y tế là ví dụ điển hình. "Satellite Data" là dữ liệu do máy sinh ra, đến từ cảm biến và thiết bị chụp ảnh trên vệ tinh. "Social Media" là dữ liệu do con người sinh ra khi đăng bài, bình luận, chia sẻ. "Multimedia" là một dạng định dạng dữ liệu gồm ảnh, âm thanh, video, nói về hình thức của dữ liệu chứ không chỉ ra nguồn tổ chức nào tạo ra nó, và phần lớn nội dung đa phương tiện do người dùng tạo.
ATrees take advantage of the parent-child relationship of the data for easy navigation.
BComputers can easily visualize the data with a tree structure.
CIt is not always the case that XML and JSON can be represented as trees.
DThey are only useful for XML data, as a tree-like structure is apparent with tags. While JSON does not contain a tree-like structure as it contains arrays.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Trees take advantage of the parent-child relationship of the data for easy navigation.". Dữ liệu bán cấu trúc như XML và JSON có tính lồng nhau: phần tử XML chứa phần tử con, đối tượng JSON chứa đối tượng hay mảng con; mô hình cây biểu diễn đúng quan hệ cha–con đó, nên có thể duyệt theo đường dẫn từ gốc xuống, như XPath với XML hay ký pháp dấu chấm với JSON, và truy vấn cha, con, anh em một cách tự nhiên. "Computers can easily visualize the data with a tree structure." sai vì lý do dùng cây là để mô hình hoá và truy vấn, không phải để máy tính vẽ hình. "It is not always the case that XML and JSON can be represented as trees." sai vì mọi tài liệu XML hợp lệ và mọi giá trị JSON đều có cấu trúc lồng nhau biểu diễn được thành cây. "They are only useful for XML data, as a tree-like structure is apparent with tags. While JSON does not contain a tree-like structure as it contains arrays." sai vì mảng JSON chỉ là một nút có các con được đánh thứ tự, nên JSON vẫn là cây như XML.
ATo backup graph data
BTo export results to CSV
CTo import structured CSV data
DTo visualize graphs
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "To import structured CSV data". Trong Neo4j, mệnh đề LOAD CSV WITH HEADERS đọc một tệp CSV, coi dòng đầu là tên cột và trả mỗi dòng sau thành một bản ghi dạng map, nhờ đó có thể viết tiếp CREATE hoặc MERGE để tạo nút và quan hệ từ dữ liệu bảng, tức là nạp dữ liệu có cấu trúc vào đồ thị. "To backup graph data" sai vì sao lưu cơ sở dữ liệu Neo4j dùng công cụ quản trị như neo4j-admin dump hoặc backup, không dùng một mệnh đề truy vấn đọc tệp. "To export results to CSV" ngược chiều: mệnh đề này đọc dữ liệu vào chứ không ghi kết quả ra; xuất CSV phải dùng chức năng tải xuống của trình duyệt Neo4j hoặc thủ tục của thư viện APOC. "To visualize graphs" là việc của Neo4j Browser hay Bloom khi hiển thị kết quả truy vấn, không phải tác dụng của việc nạp tệp.
AA sessionType of 'levelup'
BThrough two events: 'end' and 'start'
CUsing 'ad-clicks.csv'
DWith 'platformType' changed to 'upgrade'
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Through two events: 'end' and 'start'". Trong bộ dữ liệu giả lập trò chơi Catch the Pink Flamingo, nhật ký cấp độ của đội ghi mỗi phiên chơi theo cặp sự kiện; khi đội lên cấp, phiên ở cấp cũ được đóng bằng một sự kiện kết thúc và phiên ở cấp mới được mở bằng một sự kiện bắt đầu, nên việc lên cấp hiện ra qua hai sự kiện liên tiếp end rồi start thay vì một bản ghi riêng mang tên lên cấp. "A sessionType of 'levelup'" sai vì không có loại phiên nào tên như vậy, kiểu sự kiện chỉ là bắt đầu hoặc kết thúc. "Using 'ad-clicks.csv'" sai vì tệp đó ghi lượt người chơi bấm vào quảng cáo, phục vụ phân tích doanh thu, không liên quan đến cấp độ của đội. "With 'platformType' changed to 'upgrade'" sai vì trường platformType mô tả nền tảng thiết bị người chơi dùng như điện thoại hay máy tính, không có giá trị nâng cấp và không mang thông tin cấp độ.
Amatch p=(a)-[:TO*]->(p) return p
Bmatch p=shortestPath((a)-[:TO*]->(p)) return p
Cmatch p=(a)-[:TO*1..5]->(p) return p
DshortestPath(a TO P)
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "match p=shortestPath((a)-[:TO*]->(p)) return p". Trong Cypher, ngôn ngữ truy vấn của Neo4j, hàm shortestPath nhận một mẫu đường đi có độ dài biến thiên và trả về một đường ngắn nhất giữa hai nút; ký hiệu [:TO*] nghĩa là đi qua một hoặc nhiều quan hệ loại TO, còn biến p được gán cho cả đường đi để trả về. Phương án "match p=(a)-[:TO*]->(p) return p" thiếu hàm shortestPath nên trả về mọi đường đi có thể giữa hai nút, không chỉ đường ngắn nhất, và trên đồ thị lớn số đường này có thể bùng nổ. Phương án "match p=(a)-[:TO*1..5]->(p) return p" chỉ giới hạn độ dài từ 1 đến 5 bước, vẫn liệt kê mọi đường trong giới hạn đó chứ không chọn đường ngắn nhất. Còn "shortestPath(a TO P)" không phải câu lệnh Cypher hợp lệ vì thiếu mệnh đề match, thiếu cú pháp nút trong ngoặc tròn và quan hệ trong ngoặc vuông. Lưu ý các truy vấn trong đề viết rút gọn: chúng dùng p vừa làm tên đường đi vừa làm tên nút đích, trên Neo4j thật sẽ báo lỗi biến đã khai báo, nên khi viết thật cần đặt tên nút khác, nhưng ý của từng phương án vẫn đọc được như trên.
AFast and Simple
BAccurate and Consistent
CFast and Complex
DAccurate and Memory Efficient
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Fast and Simple". Dữ liệu dòng (streaming data) đến liên tục và không có điểm kết thúc, nên thuật toán phân tích dòng phải xử lý mỗi phần tử ngay khi nó tới, thường chỉ nhìn một lần, với thời gian rất ngắn để theo kịp tốc độ dữ liệu đổ vào; vì vậy chúng được thiết kế nhanh và đơn giản, chẳng hạn đếm, cộng dồn hay cập nhật cửa sổ trượt. "Accurate and Consistent" không đúng vì phân tích dòng thường chấp nhận kết quả xấp xỉ để đổi lấy tốc độ, và dữ liệu có thể đến trễ, sai thứ tự. "Fast and Complex" tự mâu thuẫn: thuật toán phức tạp tốn nhiều phép tính trên mỗi phần tử nên không theo kịp dòng. "Accurate and Memory Efficient" đúng một nửa, vì tiết kiệm bộ nhớ quả là yêu cầu khi không thể lưu cả dòng, nhưng chính xác tuyệt đối thường phải hy sinh, nên đây không phải đặc trưng được nêu.
AMATCH (a)-[:TO]->(b) RETURN path
BMATCH p = shortestPath((from)-[:TO*]->(to)) WITH REDUCE(dist = 0, rel in rels(p) | dist + toInt(rel.dist)) AS distance RETURN path, distance
CMATCH (n)-[r]-() RETURN REDUCE(dist=0, r in r | dist + 1)
DMATCH p=(a)-[:TO*]->(b) RETURN reduce(p)
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "MATCH p = shortestPath((from)-[:TO*]->(to)) WITH REDUCE(dist = 0, rel in rels(p) | dist + toInt(rel.dist)) AS distance RETURN path, distance". Trong Cypher của Neo4j, shortestPath tìm đường ngắn nhất qua các quan hệ TO với độ dài thay đổi (dấu sao), sau đó rels(p) lấy danh sách các cạnh trên đường p và REDUCE duyệt từng cạnh, cộng dồn thuộc tính dist (đã đổi sang số nguyên bằng toInt) vào biến tích luỹ bắt đầu từ 0; kết quả là tổng khoảng cách, tức trọng số của đường đi. "MATCH (a)-[:TO]->(b) RETURN path" chỉ khớp đúng một cạnh giữa hai nút, không có hàm tìm đường ngắn nhất và không tính trọng số nào. "MATCH (n)-[r]-() RETURN REDUCE(dist=0, r in r | dist + 1)" chỉ cộng 1 cho mỗi quan hệ nên đếm số cạnh, bỏ qua thuộc tính khoảng cách và cũng không có đường đi nào. "MATCH p=(a)-[:TO*]->(b) RETURN reduce(p)" gọi reduce thiếu biến tích luỹ và biểu thức cộng dồn nên không hợp lệ, và mẫu này trả mọi đường chứ không chọn đường ngắn nhất.
AData is unbounded in size but requires only finite time and space to process it.
BThe data is finite and requires only finite time and space to process the data.
CThe data is unbounded in size, and the size determines the time and space of processing the data.
DData is finite in size, and size determines the time and space of processing the data.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Data is unbounded in size but requires only finite time and space to process it.". Dữ liệu luồng (streaming data) đến liên tục, không có điểm kết thúc nên kích thước không bị chặn (unbounded); hệ xử lý luồng không đợi gom đủ rồi mới tính mà xử lý từng phần tử hoặc từng cửa sổ (window) nhỏ khi nó tới và chỉ giữ một trạng thái gọn, nên mỗi bước tốn thời gian và bộ nhớ hữu hạn bất kể dòng dài bao nhiêu. "The data is finite and requires only finite time and space to process the data." mô tả dữ liệu tĩnh xử lý theo lô (batch), nơi tập dữ liệu có kích thước xác định từ trước. "The data is unbounded in size, and the size determines the time and space of processing the data." sai vì nếu chi phí tăng theo kích thước của một dòng vô hạn thì không hệ nào xử lý nổi; xử lý luồng tồn tại chính là để tách chi phí khỏi tổng kích thước. "Data is finite in size, and size determines the time and space of processing the data." là đặc trưng của xử lý theo lô truyền thống, khi thời gian chạy tăng theo dung lượng tập dữ liệu.
36The following query will return a graph containing whatever loops might exist
match (n)-[r]-(n) return n, r2 lựa chọn
ATrue
BFalse
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "True". Trong Cypher, mẫu (n)-[r]-(n) dùng cùng một biến n cho cả hai đầu của quan hệ r, nên chỉ khớp những quan hệ có điểm đầu và điểm cuối là cùng một nút, tức là các vòng tự thân (self-loop); dấu gạch không có mũi tên nghĩa là không xét chiều, nên bắt được mọi vòng bất kể khai báo chiều nào. Mệnh đề return n, r trả về nút và quan hệ đó, Neo4j Browser hiển thị thành đồ thị gồm các vòng đang tồn tại; nếu đồ thị không có vòng nào thì kết quả rỗng, đúng với ý những vòng có thể tồn tại trong câu hỏi. Phương án "False" sai vì cho rằng truy vấn không làm được việc này, trong khi việc lặp lại cùng biến ở hai đầu chính là cách chuẩn để tìm vòng tự thân trong Cypher.
37What are the roles of the two key parts of HDFS?4 lựa chọn
ANameNode for metadata and DataNode for block storage.
BFASTA for genome sequence and Rasters for geospatial data.
CNameNode for block storage and Data Node for metadata.
DNone of the above
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "NameNode for metadata and DataNode for block storage.". HDFS theo kiến trúc chủ tớ: NameNode là nút chủ giữ không gian tên và siêu dữ liệu (metadata), tức cây thư mục, quyền truy cập, mỗi tệp gồm những khối nào và khối nằm trên DataNode nào; các DataNode là nút tớ lưu khối dữ liệu thật trên đĩa, phục vụ đọc ghi và gửi tín hiệu heartbeat định kỳ về NameNode. Khi đọc tệp, máy khách hỏi NameNode vị trí khối rồi đọc thẳng từ DataNode. "NameNode for block storage and Data Node for metadata." đảo ngược vai trò hai thành phần. "FASTA for genome sequence and Rasters for geospatial data." nói về định dạng dữ liệu khoa học, FASTA cho trình tự gen và raster cho dữ liệu không gian địa lý, không phải thành phần của HDFS. "None of the above" sai vì đã có một mô tả đúng.
38What is Euler known for in graph theory?4 lựa chọn
ADeveloping machine learning
BSolving the bridge problem
CCreating binary search
DBuilding graph databases
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Solving the bridge problem". Năm 1736, Leonhard Euler giải bài toán bảy cây cầu Königsberg: có cách nào đi qua mỗi cây cầu đúng một lần hay không. Ông biến các vùng đất thành nút, cây cầu thành cạnh, rồi chứng minh không thể đi được vì có quá hai nút bậc lẻ; điều kiện đường đi Euler này được xem là khởi đầu của lý thuyết đồ thị. "Developing machine learning" sai vì học máy là lĩnh vực của thế kỷ 20, rất lâu sau thời Euler. "Creating binary search" sai vì tìm kiếm nhị phân là thuật toán trên mảng đã sắp xếp, gắn với khoa học máy tính hiện đại chứ không phải công trình đồ thị của Euler. "Building graph databases" sai vì cơ sở dữ liệu đồ thị như Neo4j là phần mềm ra đời gần đây, chỉ vận dụng lý thuyết đồ thị mà Euler đặt nền.
39Graph theory was introduced by:4 lựa chọn
AEinstein
BNewton
CEuler
DDarwin
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Euler". Lý thuyết đồ thị khởi đầu năm 1736 khi Leonhard Euler giải bài toán bảy cây cầu Königsberg: ông mô hình hoá mỗi vùng đất là một đỉnh, mỗi cây cầu là một cạnh, rồi chứng minh không thể đi qua mỗi cầu đúng một lần vì có quá nhiều đỉnh bậc lẻ. Cách trừu tượng hoá thành đỉnh và cạnh đó là nền móng của phân tích đồ thị dùng trong dữ liệu lớn hôm nay, từ mạng xã hội tới định tuyến đường đi. "Einstein" nổi tiếng với thuyết tương đối trong vật lý, không liên quan tới đồ thị. "Newton" đặt nền cho cơ học cổ điển và giải tích, sống trước Euler nhưng không xây dựng lý thuyết đồ thị. "Darwin" là nhà sinh học với thuyết tiến hoá bằng chọn lọc tự nhiên.
40A loop in a graph is:3 lựa chọn
Awhere there is a edge from A->B, there is also an edge from B->A.
Bwhere there is a path in some way from a node, through 1 or more other - nodes, back to the original node.
Cwhere there is an edge from a node to itself.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "where there is an edge from a node to itself.". Trong lý thuyết đồ thị, khuyên hay vòng tự thân (loop, self-loop) là cạnh có hai đầu mút trùng nhau, nối một đỉnh với chính nó, ví dụ một trang web có liên kết trỏ về chính trang đó; khuyên được tính hai lần vào bậc của đỉnh trong đồ thị vô hướng. "where there is a edge from A->B, there is also an edge from B->A." mô tả cặp cạnh hai chiều, tức quan hệ tương hỗ giữa hai đỉnh khác nhau, chẳng hạn hai người theo dõi lẫn nhau, không phải cạnh tự nối. "where there is a path in some way from a node, through 1 or more other - nodes, back to the original node." là định nghĩa chu trình (cycle): đường đi qua ít nhất một đỉnh khác rồi quay về đỉnh xuất phát, khác với khuyên chỉ gồm đúng một cạnh và không đi qua đỉnh nào khác.