数据结构代写 | CS261 Data Structures Assignment 3

本次美国代写主要为数据结构的代码修改assignment

CS261 Data Structures

Assignment 3

Your Very Own Linked List and Binary Search Practice

Part 1 -- Summary and Specific Instructions

  1. Implement Deque and Bag ADT interfaces with a Singly Linked List data structure by

completing the skeleton code provided in the file sll.py. Once completed, your

implementation will include the following methods:

add_front(), add_back()

insert_at_index()

remove_front(), remove_back()

remove_at_index()

get_front(), get_back()

remove()

count()

slice()

  1. We will test your implementation with different types of objects, not just integers.

We guarantee that all such objects will have correct implementations of methods

eq, lt, gt, ge, le, and str.

  1. The number of objects stored in the list at any given time will be between 0 and 900

inclusive.

  1. Variables in the SLNode and LinkedList classes are not marked as private. For this

portion of the assignment, you are allowed to access and change their values

directly. You are not required to write getter or setter methods for them.

  1. RESTRICTIONS: You are not allowed to use ANY built-in Python data structures or

their methods. All implementations in this part of the assignment must be

done recursively. You are not allowed to use while- or for- loops in this part

of the assignment.

  1. This implementation must be done with the use of front and back sentinel nodes.

add_front(self, value: object) -> None:

This method adds a new node at the beginning of the list (right after the front sentinel).

Example #1:

lst = LinkedList()

print(lst)

lst.add_front('A')

lst.add_front('B')

lst.add_front('C')

print(lst)

Output:

SLL\[\]

SLLC -\> B -\> A

add_back(self, value: object) -> None:

This method adds a new node at the end of the list (right before the back sentinel).

Example #1:

lst = LinkedList()

print(lst)

lst.add_back('C')

lst.add_back('B')

lst.add_back('A')

print(lst)

Output:

SLL\[\]

SLLC -\> B -\> A

insert_at_index(self, index: int, value: object) -> None:

This method adds a new value at the specified index position in the linked list. Index 0

refers to the beginning of the list (right after the front sentinel).

If the provided index is invalid, the method raises a custom "SLLException". Code for the

exception is provided in the skeleton file. If the linked list contains N nodes (not including

sentinel nodes in this count), valid indices for this method are 0, N inclusive.

Example #1:

lst = LinkedList()

test_cases = (0, 'A'), (0, 'B'), (1, 'C'), (3, 'D'), (-1, 'E'), (5, 'F')

for index, value in test_cases:

print('Insert of', value, 'at', index, ': ', end=")

try:

lst.insert_at_index(index, value)

print(lst)

except Exception as e:

print(type(e))

Output:

Insert of A at 0 : SLL A

Insert of B at 0 : SLL B -\> A

Insert of C at 1 : SLL B -\> C -\> A

Insert of D at 3 : SLL B -\> C -\> A -\> D

Insert of E at -1 : <class 'main.SLLException'>

Insert of F at 5 : <class 'main.SLLException'>

相关推荐
yuannl101 小时前
图的存储方式
数据结构
yangshun_cug2 小时前
Windows 11 的 WSL2 Ubuntu 22.04 安装 Seismic Unix 44R28 完整教程
windows·ubuntu·seismic unix
会编程的小孩2 小时前
初识数据类型以及变量定义
数据结构·算法
梅梅绵绵冰3 小时前
数据结构-时间复杂度
数据结构·算法
ManageEngine卓豪3 小时前
Windows服务账户安全治理:特权访问自动化落地指南与工具选型
windows·pam·特权访问管理·特权账号
AxureMost3 小时前
Xrecode 音频格式转换利器
windows·电脑
cpp_25014 小时前
P6625 [省选联考 2020 B 卷] 卡牌游戏
数据结构·c++·算法·前缀和·贪心·洛谷题解·省选
起予者汝也4 小时前
Python 数据结构
开发语言·数据结构·python
Frostnova丶6 小时前
(17)LeetCode 41. 缺失的第一个正数
数据结构·算法·leetcode
西西学代码6 小时前
Flutter---StreamBuilder案例
javascript·windows·flutter