如何在无序中寻找规律,在无序中发现有序的例子有哪些,从无序中寻找有序
文章开头有有序和无序的数据结构,首先感谢正在学习c的聪明乌龟。
第一个个人困惑来自名词有序列表。
在我的印象中,有序数据结构就是能够保持插入顺序的结构。无序是指在插入数据时,数据结构已经被排序和重新定位。
因为这种迷茫开始思考有序和无序。
以Python的list和JavaScript的Array为例。以下数据是有序的还是无序的?
# pyarr=[ 1,3 ] arr.append (2) print ) arr ) [ 1,3,2 ]/javascriptletarr=[ 1,3];arr . push(2;console . log(arr;//[ 1,3,2]接下来是疑点。
要说上面是有序的,你可以认为下标是有序的。如果以上是无序的,可以认为是数值没有顺序。所以无序指的是偶然同意学习C进行讨论。我发现一个学CC的精明海龟在自己的博客上发了很多关于算法的博客,本能的认为自己懂酷咖啡豆,于是给厚帅咖啡豆发了消息。没想到爽的咖啡豆给我回复了,哈哈。
讨论的原始地址在评论区。
现在整理一下讨论。
问:
对于数据结构,有序和无序是指元素插入的顺序或元素排列的顺序(例如从小到大)。
答:
给定任意数量的群,该群可以说是有序的,从小/大到小或无序和无序。然后,将这组按顺序排序。插入元素的顺序叫有序和无序是什么?可以说,对于一个有序数组,通过在该组中插入另一个数据,该组的数据将保持有序。
问:
可能是思维角度的问题吧。举一个具体的例子:
有序列表,这里的顺序是
元素有排列顺序
,而有序列表实际上是无序的数据结构
。数据的无序顺序在插入元素的顺序中是可见的。
如果在插入元素(如设置数据结构)时重新定位或排序元素,导致插入的元素混乱,则数据结构可能会混乱。
就像python的list,很多人的介绍都是有序和可变序列。
答:
在我学习的hxdwd老师的数据结构中,顺序是指一组数,用某个关键字排序就是顺序。
你可以有重复值,插入值或者删除值,但是有序和无序与这些操作无关。
顺序是指元素的所有关键词是否按照一定的顺序排列。
所谓有序链表,你的意思是一组数字的逻辑结构是线性的,物理结构是链式存储。你说的“顺序有元素的排列顺序,但一个有序的链表实际上是一个无序的数据结构”,我不明白。
数据元素的关系有四种逻辑结构和四种物理结构。你说的是什么数据结构?
还有,无序是在元素插入的顺序上看到的,所以不理解。可以插在末端,也可以插在中间的任何地方。你如何判断紊乱?
(个人补充)看到可以插入末端和中间任意一个的时候,戴上口罩,然后问答凉凉的咖啡豆;我是看了A的回答后看到的)。
问:
演讲很透彻,我明白了有序和无序应该从什么角度去理解。谢谢你。
下面是C的酷咖啡豆问答;因为我在研究A的答案,是原文的地址。
问:
如何理解数据结构的有序和无序?
以JavaScript为例。
letarr=[ 1,3];arr . push(2;console . log(arr;//在[1,3,2]上的排列是有序的还是无序的?
如果有顺序,可以理解为按插入顺序看;
如果是无序的,可以理解为按照值的排序顺序查看;
现在看数据结构,看到有序链表这部分有点懵,感觉有序和无序的定义都很模糊。
答:
这通常是不正常的。
排序是按照
关键字
的顺序排列一个数据元素(或记录)的任意数组。如果关键字是元素的大小,则它是无序的。
向每个元素添加属性。位置,如果1的位置是1,3的位置是2,2的位置是3,关键字是各元素的位置,则按顺序排列。
有序与无序的综合判断需要辩证地说。
使用上面的例子:
letarr=[ 1,3];arr . push(2;console . log(arr;//1,3,2)站在
值的角度
上,这个顺序不对。因为数据没有排序,所以数据仍然是逆序的。从数组本身的实现逻辑来看,是有规律的,因为可以根据索引取值,索引是排序的。
有序集合:集合中的元素可以基于键或索引来访问。
无序集合:集合中的元素只能被遍历。
编程是一个不断探索的过程。我要感谢所有在这个过程中帮助过我的人,感谢那些无私分享他们的理解和学习经验的人。
文章如有错误,请在评论区指出。我马上改正它。
文末再次感谢大家学习C智能龟。