首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

求两道数据结构相关笔试题答案解决思路

2012-04-04 
求两道数据结构相关笔试题答案1. 有一个数组,如int a[N],值M是数组当中的一值。在不分配内存空间的情况下,

求两道数据结构相关笔试题答案
1. 有一个数组,如int a[N],值M是数组当中的一值。在不分配内存空间的情况下,实现排序,使其以M为分界,前面小于等于M,后面大于等于M。
2. 有一单链表,每个节点信息存储的是一个字符,其中有冗余的字符,请以最少的时候复杂度去除冗余的字符,使其只保留一份。只能遍历一次。


我数据结构差,望算法高手指点,我一道都做不出来

[解决办法]
1.先找到M再做位置交换。
2.可以做个字符表,遍历一次,查表里有木有记录,然后判断是否要删掉这个节点。
[解决办法]
第一问,lz知道快排吗,快排的一趟排序干的就是这个活;
第二问,若没要求空间复杂度,设个数组做hash映射,时间复杂度可以在O(n)
[解决办法]
第一个我不太清楚阿,如果把无序数组排序之后,那么其中任何的一个值都可以成为M,那么以不以M为分界,就没有任何的意义阿。
[解决办法]
第一问,与快速排序类似
[解决办法]
第一题就是个排序问题,M应该不用考虑吧....不分配内存的话,重点应该在数值交换上,估计要用异或交换

热点排行