Thực sự không có gì sai với mã của bạn cả. Nó hoạt động, rõ ràng lý do tại sao nó hoạt động, thật khó để hiểu sai hoặc hiểu lầm.
Vâng, bạn có thể làm cho nó nhanh hơn, nhưng chỉ bởi một yếu tố không đổi. . Cũng sẽ là
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
0.] Và với chi phí làm cho nó phức tạp hơn.Cách rõ ràng có lẽ nhanh hơn để làm điều đó là chỉ lặp bằng tay từ cuối cho đến khi chúng ta tìm thấy một giá trị, sau đó xóa giá trị đó. Điều đó cũng tránh phải đối phó với
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
2. Sử dụng In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
3 có thể giúp đỡ nhưng làm cho nó đúng [mà không sao chép toàn bộ] có thể rất khó khăn.Vì vậy, hãy so sánh những thứ này với mã hiện tại của bạn, cả hai đã gói nó trong ____ 14/________ 15 và trong một
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6:def f_rev_ex[xs, s]:
xs.reverse[]
try:
xs.remove[s]
except ValueError:
pass
xs.reverse[]
def f_rev_if[xs, s]:
if s in xs:
xs.reverse[]
xs.remove[s]
xs.reverse[]
def f_for[xs, s]:
for i in range[len[xs]-1, -1, -1]:
if s == xs[i]:
del xs[i]
break
def f_enum[xs, s]:
for i, x in reversed[list[enumerate[xs]]]:
if x == s:
del xs[i]
break
Đối với một danh sách nhỏ như của bạn, bài kiểm tra thậm chí không đáng để chạy, vì vậy tôi đã phát minh ra dữ liệu ngẫu nhiên của riêng mình [trong cuộc sống thực, tất nhiên là bạn phải biết dữ liệu của mình]:
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
Chà, cái cuối cùng đó không phải là một ý tưởng rất hay, nhưng cái còn lại nhanh hơn khoảng 25% so với những gì chúng tôi bắt đầu. Vì vậy, chúng tôi đã lưu toàn bộ 9 micro giây, trên dữ liệu 4 đơn đặt hàng lớn hơn dữ liệu thực tế của bạn. Tùy thuộc vào bạn liệu điều đó có xứng đáng với mã không thể đọc được, dễ bị ảnh hưởng hơn hay không. .
Sử dụng các gợi ý, vòng lặp qua toàn bộ danh sách và theo dõi nút trước khi nút chứa khóa xuất hiện cuối cùng bằng cách sử dụng một con trỏ đặc biệt. Sau đó, chỉ cần lưu trữ phần tiếp theo của con trỏ đặc biệt, đến con trỏ đặc biệt tiếp theo để xóa nút cần thiết khỏi danh sách được liên kết.
Python3
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
8 In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
9Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0____21
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL2
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL4
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL7
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL3
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->102
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL1
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->107
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 101
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 107
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 108
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 41
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6 Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 44
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 47
Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 48
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
reverse
1Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
reverse
5Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6 reverse
9Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
N
2 N
3__Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 101
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 107
remove
5Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
remove
7Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
remove
9Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 48
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
reverse
5Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
reverse
5Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6 reverse
9Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
N
2 N
3__Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
13Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
N
3Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
17Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
N
3Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
N
3Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
N
3Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->102
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
32 Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 101
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL1
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
35Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
37Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
39In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
40In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
43Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
45Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
47Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
32 In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
53Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL1
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
55Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 101
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
69In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
70In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
32Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 107
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 108
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 41
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
82In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
83In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
84Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6 Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 44
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 47
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
reverse
5Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
69In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
70In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6 reverse
9Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
N
2 N
3__Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 101
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 107
remove
5Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
remove
7Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
remove
9Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 48
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
reverse
5Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL26
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
reverse
5Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL38
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6 reverse
9Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
N
2 N
3__Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL26
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
13Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
N
3Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
17Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL26
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
69Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL72
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
84Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
N
3Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL78
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
N
3Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
N
3Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->102
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
69Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL86
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
84Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
N
3Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL78
Output:
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5N
3Input: 1->2->3->5->2->10, key = 2
Output: 1->2->3->5->10
3 Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8 N
3Input: 1->2->3->5->2->10, key = 2
Output: 1->2->3->5->10
3Input: 1->2->3->5->2->10, key = 2
Output: 1->2->3->5->10
2Input: 1->2->3->5->2->10, key = 2
Output: 1->2->3->5->10
3 O[n] where n is the number of nodes in the given linked list.
Auxiliary Space: O[1], no extra space is required, so it is a constant.
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
32 Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 101
Examples: :
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->10
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL1
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
35Python3
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
8 In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
9Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0____21
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL2
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL4
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL7
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1004
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL3
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->102
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL1
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1012
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1014
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 101
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 107
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 108
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 41
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6 Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1029
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1032
Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 48
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1014
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1036
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
reverse
5Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6 Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1044
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 41
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1049
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1051
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1053
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1051
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1051
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1051
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->102
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
32 Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 101
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL1
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1071
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
39In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
40In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1079
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1081
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
reverse
5Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
32 Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1036
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL1
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1091
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 107
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1094
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 41
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68 Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 1000
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 1001
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
86Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 1004
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
37Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
47Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6 Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 1012
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 1015
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 1016
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
99Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL022141
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL04
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL08
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL04
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->102___
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL04
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->102___
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL38
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Các
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL08
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Các
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL01
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 1079
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
69Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 1084
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 1087
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL81
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL08
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
69Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 1095
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 1087
Output:
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 10
Độ phức tạp về thời gian: O [n] trong đó n là số lượng nút trong danh sách được liên kết đã cho.AUXILIARY Không gian: O [1], không cần thêm không gian, vì vậy nó là một hằng số.O[n] where n is the number of nodes in the given linked list.
Auxiliary Space: O[1], no extra space is required, so it is a constant.
Giải pháp trên không hoạt động khi nút bị xóa là nút cuối cùng. Giải pháp theo dõi xử lý tất cả các trường hợp. & NBSP;
Following solution handles all cases.
Python3
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
8 In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
9Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0____21
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL2
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL3
Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 405
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL7
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL3
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->102
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL1
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->107
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 101
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 107
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 108
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 41
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 107
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 108
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 41
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6 Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1029
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1032
Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 48
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1014
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1036
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
reverse
5Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6 Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1044
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 41
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1049
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1051
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1053
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1051
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1051
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1051
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->102
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
32 Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 101
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL1
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1071
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
39In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
40In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1079
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1081
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
reverse
5Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
32 Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 101
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL1
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1071
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
39In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
40In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1079
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1081
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
reverse
5Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
32 Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1036
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL1
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1091
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 101
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 107
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1094
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 41
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
69reverse
51In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
32Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 107
Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 108
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 41
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
82reverse
64In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
84Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68 Created Linked List: 1 2 3 5 2 10 Linked List after Deletion of 1: 1 2 3 5 1000
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
reverse
5Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
69reverse
51In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6 Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1044
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->105
Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 41
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1049
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1051
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1053
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL5
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->109
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->1051
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL04
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->102
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->102
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL26
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL04
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->102
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->102
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->102
Input: 1->2->3->5->2->10, key = 2 Output: 1->2->3->5->103
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL38
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Các
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL26
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Các
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL26
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
69Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL72
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL78
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
99Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL81
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL26
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
69Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL86
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL78
Output:
Created Linked List: 1 2 3 4 5 4 4 Linked List after Deletion of 1: 1 2 3 4 5 4
Độ phức tạp về thời gian: O [n] trong đó n là số lượng nút trong danh sách được liên kết đã cho.AUXILIARY Không gian: O [1], không cần thêm không gian, vì vậy nó là một hằng số.O[n] where n is the number of nodes in the given linked list.
Auxiliary Space: O[1], no extra space is required, so it is a constant.
Vui lòng tham khảo hoàn thành bài viết về xóa lần xuất hiện cuối cùng của một mục từ danh sách được liên kết để biết thêm chi tiết!