những câu dưới đây đã được hỏi trong một cuộc phỏng vấn gần đây microsoftviệc tìm kiếm các trung bình của 5 yếu tố
Với một mảng không được phân loại kích thước 5. bao nhiêu so sánh tối thiểu là cần thiết để tìm ra trung bình? sau đó ông mở rộng nó cho kích thước n.
giải pháp cho 5 yếu tố theo tôi là 6
1) use 3 comparisons to arrange elements in array such that a[1]<a[2] , a[4]<a[5] and a[1]<a[4]
a) compare a[1] and a[2] and swap if necessary
b) compare a[4] and a[5] and swap if necessary
c) compare a[1] and a[4].if a[4] is smaller than a[1] , then swap a[1] wid a[4] and a[2] wid a[5]
2)if a[3]>a[2].if a[2]<a[4] median value = min(a[3],a[4]) else median value=min(a[2],a[5])
3)if a[3]<a[2].if a[3]>a[4] median value = min(a[3],a[5]) else median value=min(a[2],a[4])
này có thể được mở rộng đến các yếu tố n. nếu không làm thế nào chúng ta có thể tìm thấy trung vị trong các phần tử n trong O (n) ngoài việc chọn nhanh
Bạn có thể muốn cải thiện đánh dấu đó một chút. Có một danh sách có thứ tự ('1.') bạn có thể sử dụng và chúng cũng làm tổ. – Flexo
@akash: chấp nhận câu trả lời cho các câu hỏi khác của bạn (nghĩa là, nhấp vào 'dấu kiểm màu xanh' nếu câu trả lời đã trả lời câu hỏi của bạn). – Claudiu
@Claudiu thanx. – akash