用带头节点的单链表表示整数集合,完成以下算法并分析时间复杂度:[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=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=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.5x1.0]/BQKP5E8YnupUQ2sDg7w1Q==[/tex]个元素,则[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]上的二元关系有( )个,其中有( )个是[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]到[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]的函数。
- 编写一个函数,将一个头结点指针为[tex=0.571x0.786]HXNXn3AXpwdIpZt8+6oCEw==[/tex]的单链表[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]分解成两个单链表[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex] 和 [tex=0.786x1.0]sHo1pKm+gjxjcUAJjHrarQ==[/tex], 其头结点指针分别为[tex=0.571x0.786]HXNXn3AXpwdIpZt8+6oCEw==[/tex]和[tex=0.429x1.0]Q2fWySASH/4Xf2eu85OwAQ==[/tex], 使得[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]链表中含有原链表[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]中序号为奇数 (第 1,3, [tex=1.286x0.786]lRSLJav0cvc1uYdx/9plcw==[/tex]) 的元素 (头结点紧接的下一个元素为第 1 个元素 ),而[tex=0.786x1.0]sHo1pKm+gjxjcUAJjHrarQ==[/tex]链表中含有原链表[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]中序号为偶数 第 2,4,[tex=1.286x0.786]lRSLJav0cvc1uYdx/9plcw==[/tex]) 的元素,且保持原来的相对顺序。
- 设 [tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex] 和 [tex=0.786x1.0]sHo1pKm+gjxjcUAJjHrarQ==[/tex] 是有限集合 [tex=7.714x1.357]zfYTDwm4jq9iENXrMGP1viyg3D2hm9OevbRRwSa++uQ=[/tex]试求出 :[br][/br]从 [tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex] 到 [tex=0.786x1.0]sHo1pKm+gjxjcUAJjHrarQ==[/tex] 有多少种不同的单射和双射?