what are the best ideas for semester project on data structures and alogrithms with medium difficulty in java ?