Redian新闻
>
文本编辑器设计, 要求append, insert, delete均为O(1)
avatar
文本编辑器设计, 要求append, insert, delete均为O(1)# JobHunting - 待字闺中
m*p
1
append就是加到末尾, insert是加到中间, delete是任何位置的删除
linkedlist + hashtable 或者 array + hashtable?
已跪, 请问具体如何实现?
avatar
l*a
2
中间指"正中间",还是给个index想insert在什么地方就是什么地方

【在 m***p 的大作中提到】
: append就是加到末尾, insert是加到中间, delete是任何位置的删除
: linkedlist + hashtable 或者 array + hashtable?
: 已跪, 请问具体如何实现?

avatar
n*1
3
加到中间的话要O(1)的话 deque?
avatar
A*c
4
底层表示用双向链表。
类里边定义光标位置。

【在 m***p 的大作中提到】
: append就是加到末尾, insert是加到中间, delete是任何位置的删除
: linkedlist + hashtable 或者 array + hashtable?
: 已跪, 请问具体如何实现?

avatar
l*i
5
something similar to Java LinkedHashMap
avatar
s*x
6
Insert in the middle for deque is O(n).

【在 n*******1 的大作中提到】
: 加到中间的话要O(1)的话 deque?
avatar
m*p
7
是加到任意位置

【在 l*****a 的大作中提到】
: 中间指"正中间",还是给个index想insert在什么地方就是什么地方
avatar
m*p
8
为了可以O(1)访问任意位置, 还需要一个hashtable吧?

【在 A*********c 的大作中提到】
: 底层表示用双向链表。
: 类里边定义光标位置。

avatar
b*f
9
Mark
avatar
A*c
10
这个应该是没说清楚,几乎没有文本编辑器有随机修改任意位置的需求。
word,vi, emacs, mitbbs,you name it. 都是对光标位置进行插入和删除操作。

【在 m***p 的大作中提到】
: 为了可以O(1)访问任意位置, 还需要一个hashtable吧?
avatar
j*d
11
这个题目,如果“任意位置”是指给出任意的位置索引,要求实现查、删、添,那就是
要求集成
Hashtable,Linkedlist,Array的O(1),觉得不可能实现。
avatar
n*1
12
光标移动应该是必须的 否则应该无解 还是用deque
avatar
s*d
13
gap buffer 和 rope的复杂度是多少?
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。