个人工作中c和c++用的多一点,对java的理解没有题主深刻。可是还是认为作为一个程序员工作中是不可能用不到数据结构和算法的,如果你觉得没有用到,那么只是你没意识到自己用到了而已。
如果题主没意识到工作中用到了数据结构和算法,想必java中一定是已经有现成的对应的类可以用了。比如list,array,set,map,hashtable等,一旦题主在编程中用到了其中一个,那么必然会要思考我为什么要选取这个数据结构?为什么不是其他的。是为了效率考虑么?这样就必须也要对其他的数据结构的具体实现了然于心。
在c++中,我肯定是要看stl的代码的,只有清楚了每个容器的具体实现,才能用的好,也不会误用和很用,而写出低效率的代码。
所以,对大多数程序员来说,数据结构和算法在工作中应用的具体体现想必是,
- 使用到某个数据结构时,如list,array,set,map,hashtable等,要思考为什么要用这个数据结构,为什么不是其他的
- 在碰到问题,如程序效率问题时,也要考虑是不是自己的数据结构选择的不对
- 另外,工作中不可能用不到数据结构,因为程序=数据结构+算法,没别的了