[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f6MO5r7NAtKOzK1TINuq2LceRyuplQ6gZKyZltxCY_KQ":3},{"answer":4,"createTime":5,"id":6,"options":7,"origin":8,"question":15,"related":16,"source":22,"type":23},[],"2024-03-29 08:43:19",136087749,[],{"count":9,"courseId":10,"courseImg":11,"courseName":12,"workId":13,"workName":14},10,"741919a8140b4f23517a352ae097af26","https:\u002F\u002Ftihai-oss-cloud.itihey.com\u002Fimg\u002F0d27132e8e4c25614916fe2373258c2e.jpg","数据结构（Java语言描述）","work_33531731","课后作业5-双链表和循环链表","在用头引用指示的循环单链表中,找到开始结点的时间复杂度是O( ),然而要找到终端结点,则需要从头引用开始遍历整个链表,所以时间复杂度是O( )",[17,24,29,34,39,42,47,52,60,65],{"answer":18,"createTime":5,"id":19,"options":20,"question":21,"source":22,"type":23},[],136087745,[],"如果希望快速确定链表中任意一个结点的前驱结点,那么可以在链表的每个结点中再设置一个引用其前驱结点的引用域,这样就形成了()","v1",2,{"answer":25,"createTime":5,"id":26,"options":27,"question":28,"source":22,"type":23},[],136087746,[],"和单链表类似,双链表一般也是由头引用唯一确定,增加()结点也能使双链表的某些操作变得方便",{"answer":30,"createTime":5,"id":31,"options":32,"question":33,"source":22,"type":23},[],136087747,[],"在双链表中,每个结点在存储()元素的同时,还存储了其()元素和()元素的结点的引用,这三部分组成了数据元素的存储映像",{"answer":35,"createTime":5,"id":36,"options":37,"question":38,"source":22,"type":23},[],136087748,[],"在单链表中,如果将终端结点的引用域由空改为头结点引用,则使整个单链表形成一个环,这种头尾相接的单链表称为()",{"answer":40,"createTime":5,"id":6,"options":41,"question":15,"source":22,"type":23},[],[],{"answer":43,"createTime":5,"id":44,"options":45,"question":46,"source":22,"type":23},[],136087750,[],"在循环单链表中,如果改为引用终端结点的尾引用rear来指示循环单链表,则查找开始结点和终端结点都很方便,它们的引用分别是()和rear,而且显然这两个操作的时间复杂度都是O( )",{"answer":48,"createTime":5,"id":49,"options":50,"question":51,"source":22,"type":23},[],136087751,[],"在双链表中,如果将终端结点的后继引用域由空引用改为引用头结点,将头结点的前驱引用域由空引用改为引用终端结点,则使整个双链表形成一个头尾相接的()",{"answer":53,"createTime":5,"id":54,"options":55,"question":58,"source":22,"type":59},[],136087752,[56,57],"正确","错误","在很多实际问题中,操作是在表头或表尾两端进行,此时头引用指示的循环单链表就显得不够方便,所以在实际应用中多采用尾引用指示的循环单链表",3,{"answer":61,"createTime":5,"id":62,"options":63,"question":64,"source":22,"type":59},[],136087753,[56,57],"循环链表没有增加任何存储量,仅对链表的链接方式作了改变,因此基本操作的实现与链表的实现方式类似",{"answer":66,"createTime":5,"id":67,"options":68,"question":69,"source":22,"type":59},[],136087754,[56,57],"从循环链表中任一结点出发,都可以扫描到其他结点,从而增加了链表操作的灵活性.但这种方法的危险在于循环链表中没有明显的尾端,可能会使循环链表的处理操作进入死循环,所以需要格外注意循环条件"]