我被作为家庭作业的算法导入练习11.1-3,如下:
建议如何实现直接访问表,其中存储元素的键不需要是不同的,并且元素可以具有卫星数据.所有三个字典操作(插入,删除和搜索)都应该在O(1)时间内运行.不要忘记Delete将一个指向要删除的对象的指针作为参数,而不是键.
好吧,Insert没有问题,因为它只是意味着在表中的适当位置创建一个链表(如果它还不存在)并向其添加元素.给定键的搜索可以返回与键匹配的任何元素,因此它只是意味着我们需要返回表中匹配列表的头部.
我的问题是删除操作.如果我修改对象添加到链接列表中指向其节点的指针,那么我可以在O(1)中删除,但我不确定我是否可以更改对象.有没有办法在不改变给定对象的情况下这样做?