用带头节点的单链表表示整数集合,完成以下算法并分析时间复杂度:[tex=1.286x1.357]VAHhaW1te0xvoqDVN54/dg==[/tex]设计一个算法求两个集合 [tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex] 和 [tex=0.786x1.0]sHo1pKm+gjxjcUAJjHrarQ==[/tex]的差运算,即 [tex=3.786x1.143]KO3URhTBfbqNu5waallC4A==[/tex]。要求算法的空间复杂度为[tex=2.071x1.357]4tn8z3a70oWd+Kan/q/D8g==[/tex],并释放单链表[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]和[tex=0.786x1.0]sHo1pKm+gjxjcUAJjHrarQ==[/tex]中不需要的节点。[tex=1.286x1.357]BEB68bP4vOVk/XYYizw11w==[/tex] 假设集合中的元素按递增排列,设计一个高效算江求两个集合 [tex=0.786x1.0]Yn3GgEZev6SOu2r4v1WnCw==[/tex] 和[tex=0.786x1.0]sHo1pKm+gjxjcUAJjHrarQ==[/tex]的差运算, 即 [tex=3.786x1.143]KO3URhTBfbqNu5waallC4A==[/tex] 。要求算法的空间复杂度为 [tex=2.357x1.357]4AO+SoeErUSxnKvIp+lB1w==[/tex] 并释放单链表 [tex=0.786x1.0]Yn3GgEZev6SOu2r4v1WnCw==[/tex] 和 [tex=0.786x1.0]ri6gmnf1+J9dGqG5/1sV6A==[/tex]中不需要的节点。
举一反三
- 用带头节点的单链表表示整数集合,完成以下算法并分析时间复杂度:[tex=1.286x1.357]VAHhaW1te0xvoqDVN54/dg==[/tex] 设计一个算法求两个集合 [tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]和 [tex=0.786x1.0]sHo1pKm+gjxjcUAJjHrarQ==[/tex]原并运算,即 [tex=4.5x1.143]pV+DlOUbdpo+MVxlNrfyjU2snR0yXVgVAt7j0lDW6ng=[/tex] 要求不彼坏原有的单链表 [tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex] 和 [tex=1.357x1.214]2XZxEL4Gp5jUCjj+30JeO5eyL20RBXvNfY3CKS7wHSo=[/tex][tex=1.286x1.357]BEB68bP4vOVk/XYYizw11w==[/tex]假设集合中的元素按第增排列,设计一个高效算法求两个集合 [tex=0.786x1.0]Yn3GgEZev6SOu2r4v1WnCw==[/tex] 和[tex=0.786x1.0]ri6gmnf1+J9dGqG5/1sV6A==[/tex] 的并运算,即 [tex=3.714x1.0]BgNd7LnR5ljYNteb80zDmg==[/tex]。要求不破坏原有的单链表 [tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]和 [tex=1.0x1.214]lKyloJhJiVHqissuZMcxeQ==[/tex][br][/br][br][/br]
- 设[tex=0.786x1.0]Yn3GgEZev6SOu2r4v1WnCw==[/tex]和[tex=0.786x1.0]ri6gmnf1+J9dGqG5/1sV6A==[/tex]是两个单链表(带头节点),其表中元素递增有序。试写一算法将[tex=0.786x1.0]Yn3GgEZev6SOu2r4v1WnCw==[/tex]和[tex=0.786x1.0]ri6gmnf1+J9dGqG5/1sV6A==[/tex]归并成一个按元素值递增有序的单链表[tex=0.714x1.0]J/aA9EEo0KmJFnWWfX7LmQ==[/tex],并要求辅助空间为[tex=2.071x1.357]4tn8z3a70oWd+Kan/q/D8g==[/tex],请分析算法的时间复杂度。
- 设事件 [tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex] 和 [tex=0.786x1.0]sHo1pKm+gjxjcUAJjHrarQ==[/tex] 互不相容, 且 [tex=8.786x1.357]1A7WHGcU5mWBGzLoAYLD+KtEa2iCYBKvWlFt0IZxoOI=[/tex] ,求以下事件的概率:(1) [tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex] 与 [tex=0.786x1.0]sHo1pKm+gjxjcUAJjHrarQ==[/tex] 中至少有一个发生;(2) [tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex] 和 [tex=0.786x1.0]sHo1pKm+gjxjcUAJjHrarQ==[/tex] 都发生;(3) [tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex] 发生但 [tex=0.786x1.0]sHo1pKm+gjxjcUAJjHrarQ==[/tex] 不发生.
- 两个信号 [tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex] 与 [tex=0.786x1.0]sHo1pKm+gjxjcUAJjHrarQ==[/tex] 传输到接收站已知[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex] 错收为[tex=0.786x1.0]sHo1pKm+gjxjcUAJjHrarQ==[/tex]的概率为 0.02,[tex=0.786x1.0]sHo1pKm+gjxjcUAJjHrarQ==[/tex] 错收为[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]的概率为0.01而 [tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex] 发射的机会是[tex=0.786x1.0]sHo1pKm+gjxjcUAJjHrarQ==[/tex] 的2倍,求:(1) 收到信号 [tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]的概率(2) 收到信号 [tex=0.786x1.0]ri6gmnf1+J9dGqG5/1sV6A==[/tex]的概率(3) 收到信号[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex] 而发射的是信号[tex=0.786x1.0]ri6gmnf1+J9dGqG5/1sV6A==[/tex]的概率
- 设有集合[tex=0.786x1.0]kEam2pLJe4uAYVdcny2W5g==[/tex],[tex=0.786x1.0]EsJDtGYVBcAkNM+hi9jDJg==[/tex],(1)若[tex=3.857x1.143]Q5ZavoZvOi0DoyJTzmDshQ==[/tex],则[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]与[tex=0.786x1.0]sHo1pKm+gjxjcUAJjHrarQ==[/tex]有什么关系?(2)若[tex=5.357x1.143]nBU3hKCBKUYp1JXsoeMeCA==[/tex],则[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]与[tex=0.786x1.0]sHo1pKm+gjxjcUAJjHrarQ==[/tex]有什么关系?