Hướng dẫn how do you define a structure in python? - làm thế nào để bạn xác định một cấu trúc trong python?

Ảnh của Washington Oliveira 🇧🇷 trên undplash

Chúng ta đều biết về các cấu trúc được sử dụng trong C và C ++. Một trong đó cho phép gói nhiều loại dữ liệu nguyên thủy vào kiểu dữ liệu do người dùng xác định.

Trong Python, có thể xác định một cấu trúc bằng một lớp, trong đó người dùng không xác định bất kỳ chức năng nào trong lớp.

OK, tôi biết rằng mặc dù C doesn, C ++ cho phép các định nghĩa chức năng trong cấu trúc. Đây là một tính năng tôi chưa bao giờ sử dụng. Tôi có thể nhớ rằng việc tạo một lớp với tất cả các thành viên dữ liệu và các chức năng thành viên là công khai, nơi có ý nghĩa khi sử dụng một cấu trúc thay vì một lớp.

Các cấu trúc rất tiện dụng để xác định một loại dữ liệu phức tạp được hình thành bằng cách sử dụng nhiều loại dữ liệu nguyên thủy đơn giản.

Trong Python, có một cách mà bạn có thể xác định một bộ sưu tập bắt chước các thuộc tính tương tự như cấu trúc bằng cách sử dụng tên được đặt tên trong các bộ sưu tập.namedtuple under collections.

Một ví dụ dưới đây, một tập hợp.namedtuple điểm được xác định có chứa các trường

struct Point {
float x;
float y;
}
2 và
struct Point {
float x;
float y;
}
3.

from collections import namedtuple 
Point = namedtuple('Point', ['x', 'y'])

Một cấu trúc tương tự trong C ++ có thể được định nghĩa là

struct Point {
float x;
float y;
}

Giá trị mặc định cho các biến có thể được đặt bằng cách sử dụng for the variables can be set using

Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])

Bắt đầu với C ++ 11, nó có thể cung cấp cho các thành viên cấu trúc phi tĩnh một giá trị mặc định:

struct Point {
float x{0.0};
float y{0.0};
};

Khởi tạo tên được đặt tên bằng cách sử dụng cú pháp tương tự như gọi hàm tạo. Sử dụng một đối số từ khóa hoặc vị trí. the namedtuple using a syntax similar to calling a constructor. Using a positional or keyword argument.

ntpt = Point(3, y=6)

Truy cập các trường của một cái tên tương tự như một cấu trúc the fields of a namedtuple similar to a structure

ntpt.x + ntpt.y

Hoặc như tên cho thấy, như một tuple

ntpt[0] + ntpt[1]

Đặt trường bằng cách sử dụng thay thế a field using replace

ntpt._replace(x=5)

Có một vài điều khác mà bạn có thể làm với một cái tên là Python cụ thể.

Chẳng hạn như khởi tạo các trường bằng cách sử dụng danh sách bằng cách sử dụng

struct Point {
float x;
float y;
}
4 và tạo ra lệnh cho các trường và giá trị bằng cách sử dụng
struct Point {
float x;
float y;
}
5.

Bạn có thể liệt kê các tên trường bằng

struct Point {
float x;
float y;
}
6 và các giá trị mặc định cho các trường bằng cách sử dụng
struct Point {
float x;
float y;
}
7.

3 -> thứ tưNamedTuple under typing.

Có một giải pháp thay thế trong Python, một phiên bản được đánh máy của một tên gọi là tên có tên là theo đánh máy.

from collections import NamedTuple
p = NamedTuple('Point', [('x', float), ('y', float)])

Nơi bạn có thể thêm các loại trường được liệt kê trong các chú thích.

class Point(NamedTuple):
x: float = 0.0
y: float = 0.0

Để cung cấp một giá trị mặc định, bạn phải xác định một lớp kế thừa có tênTuple.

Sử dụng gõ. Bạn cũng có thể chỉ sử dụng một lớp học thông thường.

3 -> thứ tư

struct Point {
float x;
float y;
}
0

Sử dụng các bộ dữ liệu có tên nếu bạn ổn với một loại bất biến.

Nếu không, chỉ cần xác định một lớp nếu bạn muốn có thể tạo ra nhiều hơn một.

Một từ điển là một giải pháp kinh điển khác.

struct Point {
float x;
float y;
}
1

Nếu bạn muốn, bạn có thể sử dụng chức năng này để tạo các lớp có thể thay đổi có cùng cú pháp với

struct Point {
float x;
float y;
}
8

3 -> thứ tư

  • Trong khoa học máy tính, cấu trúc dữ liệu là một cách hợp lý để tổ chức dữ liệu trong bộ nhớ máy tính để nó có thể được sử dụng hiệu quả. Một cấu trúc dữ liệu cho phép dữ liệu được thêm, loại bỏ, lưu trữ và duy trì theo cách có cấu trúc. Python hỗ trợ hai loại cấu trúc dữ liệu:Python has list, set, and dictionary as its non-primitive data types which can also be considered its in-built data structures.
  • Các loại dữ liệu không định tuyến: Python có danh sách, bộ và từ điển là các loại dữ liệu không nguyên thủy của nó cũng có thể được coi là cấu trúc dữ liệu được xây dựng của nó. data structures: Data structures that aren’t supported by python but can be programmed to reflect the same functionality using concepts supported by python are user-defined data structures. There are many data structure that can be implemented this way:
    • Danh sách liên kết
    • Cây rơm
    • Xếp hàng
    • Cây
    • Đồ thị
    • Bản đồ băm

Danh sách liên kết

Danh sách được liên kết là một cấu trúc dữ liệu tuyến tính, trong đó các phần tử không được lưu trữ tại các vị trí bộ nhớ liên tục. Các yếu tố trong một danh sách được liên kết được liên kết bằng cách sử dụng các con trỏ như trong hình ảnh dưới đây: & nbsp;
 

Hướng dẫn how do you define a structure in python? - làm thế nào để bạn xác định một cấu trúc trong python?

Program:

Python3

Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
3
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
4
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
5
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
6
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
7
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
8
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
7
struct Point {
float x{0.0};
float y{0.0};
};
0
struct Point {
float x{0.0};
float y{0.0};
};
1

struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x{0.0};
float y{0.0};
};
3

struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x{0.0};
float y{0.0};
};
5

struct Point {
float x{0.0};
float y{0.0};
};
6
struct Point {
float x{0.0};
float y{0.0};
};
7
struct Point {
float x{0.0};
float y{0.0};
};
8

struct Point {
float x{0.0};
float y{0.0};
};
6
ntpt = Point(3, y=6)
0
struct Point {
float x{0.0};
float y{0.0};
};
8

ntpt = Point(3, y=6)
2
ntpt = Point(3, y=6)
3
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
7
ntpt = Point(3, y=6)
5
struct Point {
float x{0.0};
float y{0.0};
};
8

struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x{0.0};
float y{0.0};
};
3

struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x{0.0};
float y{0.0};
};
5

ntpt.x + ntpt.y
1
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
8
struct Point {
float x{0.0};
float y{0.0};
};
8

struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x{0.0};
float y{0.0};
};
3

struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x{0.0};
float y{0.0};
};
5

Output:

[’Thứ nhất,’ thứ hai, ’thứ ba]]

[’Thứ nhất,’ thứ hai, ’thứ ba,’ thứ sáu, ’thứ tư,‘ thứ năm]

[’Thứ nhất,’ thứ ba, ’thứ sáu,’ thứ tư, ‘thứ năm]]

Cây rơm

Xếp hàng

Hướng dẫn how do you define a structure in python? - làm thế nào để bạn xác định một cấu trúc trong python?

Program:

Cây

Đồ thị

struct Point {
float x{0.0};
float y{0.0};
};
2
ntpt[0] + ntpt[1]
8

struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x{0.0};
float y{0.0};
};
5

ntpt._replace(x=5)
1
struct Point {
float x{0.0};
float y{0.0};
};
7
struct Point {
float x{0.0};
float y{0.0};
};
8

ntpt._replace(x=5)
1
ntpt = Point(3, y=6)
0
struct Point {
float x{0.0};
float y{0.0};
};
8

struct Point {
float x{0.0};
float y{0.0};
};
2
ntpt[0] + ntpt[1]
8

struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x{0.0};
float y{0.0};
};
5

Bản đồ băm

struct Point {
float x{0.0};
float y{0.0};
};
2
from collections import NamedTuple
p = NamedTuple('Point', [('x', float), ('y', float)])
6
from collections import NamedTuple
p = NamedTuple('Point', [('x', float), ('y', float)])
7
from collections import NamedTuple
p = NamedTuple('Point', [('x', float), ('y', float)])
8
from collections import NamedTuple
p = NamedTuple('Point', [('x', float), ('y', float)])
9

struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x{0.0};
float y{0.0};
};
5

class Point(NamedTuple):
x: float = 0.0
y: float = 0.0
2

struct Point {
float x{0.0};
float y{0.0};
};
2
ntpt[0] + ntpt[1]
8

Output:

[’Thứ nhất,’ thứ hai, ’thứ ba]]

[’Thứ nhất,’ thứ hai, ’thứ ba,’ thứ sáu, ’thứ tư,‘ thứ năm]

[’Thứ nhất,’ thứ ba, ’thứ sáu,’ thứ tư, ‘thứ năm]]

Một ngăn xếp là một cấu trúc tuyến tính cho phép dữ liệu được chèn và loại bỏ khỏi cùng một đầu do đó theo hệ thống cuối cùng trong (LIFO) cuối cùng. Chèn và xóa được gọi là push () và pop () tương ứng.

Xếp hàng

Cây

Hướng dẫn how do you define a structure in python? - làm thế nào để bạn xác định một cấu trúc trong python?

Program:

Python3

Đồ thị

struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x;
float y;
}
05

struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x{0.0};
float y{0.0};
};
5

struct Point {
float x;
float y;
}
08
struct Point {
float x{0.0};
float y{0.0};
};
7
struct Point {
float x{0.0};
float y{0.0};
};
8

struct Point {
float x;
float y;
}
08
ntpt = Point(3, y=6)
0
struct Point {
float x{0.0};
float y{0.0};
};
8

struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x;
float y;
}
05

struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x{0.0};
float y{0.0};
};
5

struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x;
float y;
}
19
struct Point {
float x;
float y;
}
20
from collections import NamedTuple
p = NamedTuple('Point', [('x', float), ('y', float)])
9

Bản đồ băm

struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x;
float y;
}
27
from collections import NamedTuple
p = NamedTuple('Point', [('x', float), ('y', float)])
7
from collections import NamedTuple
p = NamedTuple('Point', [('x', float), ('y', float)])
8
from collections import NamedTuple
p = NamedTuple('Point', [('x', float), ('y', float)])
9

struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x{0.0};
float y{0.0};
};
5

struct Point {
float x;
float y;
}
33
struct Point {
float x;
float y;
}
20
from collections import NamedTuple
p = NamedTuple('Point', [('x', float), ('y', float)])
9

struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x;
float y;
}
05

Output:

[’Thứ nhất,’ thứ hai, ’thứ ba]]

[’Thứ nhất,’ thứ hai, ’thứ ba,’ thứ sáu, ’thứ tư,‘ thứ năm]

[’Thứ nhất,’ thứ ba, ’thứ sáu,’ thứ tư, ‘thứ năm]]

[’Thứ nhất,’ thứ ba, ’thứ sáu,’ thứ tư, ‘thứ năm]]

Một ngăn xếp là một cấu trúc tuyến tính cho phép dữ liệu được chèn và loại bỏ khỏi cùng một đầu do đó theo hệ thống cuối cùng trong (LIFO) cuối cùng. Chèn và xóa được gọi là push () và pop () tương ứng.

Cây

Đồ thị

Hướng dẫn how do you define a structure in python? - làm thế nào để bạn xác định một cấu trúc trong python?

Program:

Python3

Bản đồ băm

Danh sách được liên kết là một cấu trúc dữ liệu tuyến tính, trong đó các phần tử không được lưu trữ tại các vị trí bộ nhớ liên tục. Các yếu tố trong một danh sách được liên kết được liên kết bằng cách sử dụng các con trỏ như trong hình ảnh dưới đây: & nbsp;

Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
3
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
4
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
5
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
6
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
7
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
8
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
7
struct Point {
float x{0.0};
float y{0.0};
};
0
struct Point {
float x{0.0};
float y{0.0};
};
1

[’Thứ nhất,’ thứ hai, ’thứ ba]]

[’Thứ nhất,’ thứ hai, ’thứ ba,’ thứ sáu, ’thứ tư,‘ thứ năm]

[’Thứ nhất,’ thứ ba, ’thứ sáu,’ thứ tư, ‘thứ năm]]

Một ngăn xếp là một cấu trúc tuyến tính cho phép dữ liệu được chèn và loại bỏ khỏi cùng một đầu do đó theo hệ thống cuối cùng trong (LIFO) cuối cùng. Chèn và xóa được gọi là push () và pop () tương ứng.

struct Point {
float x;
float y;
}
45
struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x;
float y;
}
70
struct Point {
float x;
float y;
}
43
struct Point {
float x;
float y;
}
72

struct Point {
float x;
float y;
}
45
struct Point {
float x;
float y;
}
61
struct Point {
float x;
float y;
}
43
struct Point {
float x;
float y;
}
76

struct Point {
float x;
float y;
}
45
struct Point {
float x;
float y;
}
61
struct Point {
float x;
float y;
}
43
struct Point {
float x;
float y;
}
80

Python3

ntpt.x + ntpt.y
8
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
4
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
5
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
6
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
7
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
8
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
7
struct Point {
float x{0.0};
float y{0.0};
};
0
struct Point {
float x{0.0};
float y{0.0};
};
1

from collections import NamedTuple
p = NamedTuple('Point', [('x', float), ('y', float)])
1
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
4
from collections import NamedTuple
p = NamedTuple('Point', [('x', float), ('y', float)])
3
ntpt[0] + ntpt[1]
8

struct Point {
float x;
float y;
}
96

Output:

[’Thứ nhất,’ thứ ba, ’thứ sáu,’ thứ tư, ‘thứ năm]]

Một ngăn xếp là một cấu trúc tuyến tính cho phép dữ liệu được chèn và loại bỏ khỏi cùng một đầu do đó theo hệ thống cuối cùng trong (LIFO) cuối cùng. Chèn và xóa được gọi là push () và pop () tương ứng.

Python3

Đồ thị

Bản đồ băm

Hướng dẫn how do you define a structure in python? - làm thế nào để bạn xác định một cấu trúc trong python?

Program:

Python3

Danh sách được liên kết là một cấu trúc dữ liệu tuyến tính, trong đó các phần tử không được lưu trữ tại các vị trí bộ nhớ liên tục. Các yếu tố trong một danh sách được liên kết được liên kết bằng cách sử dụng các con trỏ như trong hình ảnh dưới đây: & nbsp;

Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
3
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
4
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
5
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
6
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
7
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
8
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
7
struct Point {
float x{0.0};
float y{0.0};
};
0
struct Point {
float x{0.0};
float y{0.0};
};
1

[’Thứ nhất,’ thứ hai, ’thứ ba]]

[’Thứ nhất,’ thứ hai, ’thứ ba,’ thứ sáu, ’thứ tư,‘ thứ năm]

[’Thứ nhất,’ thứ ba, ’thứ sáu,’ thứ tư, ‘thứ năm]]

Một ngăn xếp là một cấu trúc tuyến tính cho phép dữ liệu được chèn và loại bỏ khỏi cùng một đầu do đó theo hệ thống cuối cùng trong (LIFO) cuối cùng. Chèn và xóa được gọi là push () và pop () tương ứng.

Python3

ntpt.x + ntpt.y
8
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
4
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
5
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
6
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
7
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
8
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
7
struct Point {
float x{0.0};
float y{0.0};
};
0
struct Point {
float x{0.0};
float y{0.0};
};
1

from collections import NamedTuple
p = NamedTuple('Point', [('x', float), ('y', float)])
1
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
4
from collections import NamedTuple
p = NamedTuple('Point', [('x', float), ('y', float)])
3
ntpt[0] + ntpt[1]
8

[’Thứ nhất,’ thứ hai, ’thứ ba,’ thứ tư, ’thứ năm]]

thứ năm

[’Thứ nhất,’ thứ hai, ’thứ ba,’ thứ tư]]

Hàng đợi là một cấu trúc tuyến tính cho phép chèn các phần tử từ một đầu và xóa khỏi đầu kia. Do đó, nó theo sau, đầu tiên trong phương pháp đầu tiên (FIFO). Đầu cuối cho phép xóa được gọi là mặt trước của hàng đợi và đầu kia được gọi là phần cuối phía sau của hàng đợi. & NBSP;

class Point(NamedTuple):
x: float = 0.0
y: float = 0.0
5
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
4
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
5
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
6
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
7
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
8
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
7
struct Point {
float x{0.0};
float y{0.0};
};
0
struct Point {
float x{0.0};
float y{0.0};
};
1

from collections import NamedTuple
p = NamedTuple('Point', [('x', float), ('y', float)])
1
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
4
from collections import NamedTuple
p = NamedTuple('Point', [('x', float), ('y', float)])
3
struct Point {
float x;
float y;
}
05

struct Point {
float x;
float y;
}
40
struct Point {
float x;
float y;
}
41
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
74
struct Point {
float x;
float y;
}
43
struct Point {
float x;
float y;
}
63

struct Point {
float x;
float y;
}
45
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
78
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
79
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
80
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
81
struct Point {
float x;
float y;
}
70
struct Point {
float x;
float y;
}
43
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
84

Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
85
struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x;
float y;
}
70
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
88
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
11
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
90
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
91
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
4
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
93

Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
85
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
95
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
4
struct Point {
float x;
float y;
}
43
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
98

Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
85
struct Point {
float x{0.0};
float y{0.0};
};
00
struct Point {
float x{0.0};
float y{0.0};
};
01

struct Point {
float x{0.0};
float y{0.0};
};
02
struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x;
float y;
}
70
struct Point {
float x{0.0};
float y{0.0};
};
05
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
11
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
90
struct Point {
float x{0.0};
float y{0.0};
};
08
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
4
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
93

struct Point {
float x{0.0};
float y{0.0};
};
02
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
95
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
4
struct Point {
float x{0.0};
float y{0.0};
};
14
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
12

struct Point {
float x{0.0};
float y{0.0};
};
16
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
4
struct Point {
float x{0.0};
float y{0.0};
};
18
struct Point {
float x{0.0};
float y{0.0};
};
19
struct Point {
float x{0.0};
float y{0.0};
};
8

struct Point {
float x{0.0};
float y{0.0};
};
21
struct Point {
float x;
float y;
}
20
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
7
struct Point {
float x{0.0};
float y{0.0};
};
24
struct Point {
float x{0.0};
float y{0.0};
};
8

struct Point {
float x{0.0};
float y{0.0};
};
21
from collections import NamedTuple
p = NamedTuple('Point', [('x', float), ('y', float)])
8
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
7
ntpt = Point(3, y=6)
3
struct Point {
float x{0.0};
float y{0.0};
};
8

struct Point {
float x{0.0};
float y{0.0};
};
21
ntpt = Point(3, y=6)
3
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
7
struct Point {
float x{0.0};
float y{0.0};
};
24
struct Point {
float x{0.0};
float y{0.0};
};
8

struct Point {
float x{0.0};
float y{0.0};
};
21
struct Point {
float x;
float y;
}
20
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
7
ntpt = Point(3, y=6)
3
struct Point {
float x{0.0};
float y{0.0};
};
8

struct Point {
float x{0.0};
float y{0.0};
};
41

Output:

Danh sách kề của đỉnh 0

Đầu -> 3 -> 2

Danh sách kề của đỉnh 1

Đầu -> 3

Danh sách kề của đỉnh 2

đầu -> 3 -> 0

Danh sách kề của đỉnh 3

Đầu -> 0 -> 2 -> 1

Bản đồ băm

Bản đồ băm là cấu trúc dữ liệu được lập chỉ mục. Bản đồ băm sử dụng hàm băm để tính toán một chỉ mục bằng một khóa thành một mảng xô hoặc khe. Giá trị của nó được ánh xạ tới xô với chỉ mục tương ứng. Chìa khóa là duy nhất và bất biến. Trong Python, từ điển là ví dụ về bản đồ băm.

Program:

Python3

struct Point {
float x;
float y;
}
41
struct Point {
float x{0.0};
float y{0.0};
};
43

struct Point {
float x;
float y;
}
40
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
78
struct Point {
float x{0.0};
float y{0.0};
};
46
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
80
struct Point {
float x{0.0};
float y{0.0};
};
48

struct Point {
float x;
float y;
}
45
struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x{0.0};
float y{0.0};
};
51
struct Point {
float x{0.0};
float y{0.0};
};
52
struct Point {
float x{0.0};
float y{0.0};
};
53

struct Point {
float x{0.0};
float y{0.0};
};
54
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
4
struct Point {
float x{0.0};
float y{0.0};
};
56
struct Point {
float x;
float y;
}
20
struct Point {
float x{0.0};
float y{0.0};
};
58
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
6
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
7
from collections import NamedTuple
p = NamedTuple('Point', [('x', float), ('y', float)])
8
struct Point {
float x{0.0};
float y{0.0};
};
58__

struct Point {
float x{0.0};
float y{0.0};
};
69

struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x{0.0};
float y{0.0};
};
5

struct Point {
float x{0.0};
float y{0.0};
};
72
ntpt = Point(3, y=6)
3
struct Point {
float x{0.0};
float y{0.0};
};
74
Point = namedtuple('Point', ['x', 'y'], defaults=[0, 0])
4
struct Point {
float x{0.0};
float y{0.0};
};
7

struct Point {
float x{0.0};
float y{0.0};
};
69

struct Point {
float x{0.0};
float y{0.0};
};
2
struct Point {
float x{0.0};
float y{0.0};
};
5

struct Point {
float x{0.0};
float y{0.0};
};
80

struct Point {
float x{0.0};
float y{0.0};
};
69

Output:

0 -> Đầu tiên

1 -> Thứ hai

2 -> thứ ba

0 -> Đầu tiên

1 -> Thứ hai

2 -> thứ ba

3 -> thứ tư

0 -> Đầu tiên

1 -> Thứ hai

2 -> thứ ba