串是一种非线性结构,因为其元素之间没有固定的顺序,而是可以随意交换位置。例如,在字符串 hello 中,交换 e 和 h 两个字母的位置后,得到的字符串 olle 仍然是合法的字符串。串的顺序是由程序员定义的,而不是由其元素本身的性质决定的。
非线性结构就是表中各个结点之间具有多个对应关系。如果从数据结构的语言来描述,非线性结构应该包括如下几点:
1、非线性结构是非空集。
2、非线性结构的一个结点可能有多个直接前趋结点和多个直接后继结点。
在实际应用中,数组、广义表、树结构和图结构等数据结构都属于非线性结构,而串是线性结构。