数据结构是一种具有一定逻辑关系,在计算机中应用某种存储结构,并且封装了相应操作的数据元素的集合。它包含三方面的内容,逻辑关系、存储关系以及操作。
算法是为求解一个问题需要遵循的、被清楚指定的简单指令的集合。
面试中经常会被问到这些哦~
系统构造的关键因素是数据结构而非算法的这一深入理解,导致了多种形式化的设计方法与编程语言的出现。绝大多数的语言都带有某种程度上的模块化思想,通过将数据结构的具体实现封装隐藏于受限接口之后的方法,来让不同的应用程序能够安全地重用这些数据结构。C++、Java、Python等面向对象的编程语言可使用类来完成这一功能。
常见的数据结构:包括顺序表、链表、栈、队列、树、哈希表和图,带大家理解计算机是如何对数据进行存储的,以及每种存储方式的特点和使用场景;
常见的算法技巧:包括分治、动态规划、贪心算法、字符串匹配、图论、数论等,让小伙伴们进一步感受算法是如何巧妙的解决各种疑难杂症的。