求一个数据结构作业 一个非有序线性表 把它变成一个有序线性表 比如: 1,2,5,2,4,3,5。变为12345
谢谢啊最好有具体程序。另外数据结构怎么学啊?数据结构是一门编程语言吗?还有数据结构要掌握什么啊?谢谢您了...
谢谢啊 最好有具体程序。另外数据结构怎么学啊?数据结构是一门编程语言吗?
还有数据结构要掌握什么啊? 谢谢您了 展开
还有数据结构要掌握什么啊? 谢谢您了 展开
3个回答
展开全部
学习数据结构重在抽象性的思维能力。数据结构不是语言,就是研究怎样存储处理数据的一门学科。
就像你可以用脑袋存储各种数据(怎样存储不予追究),那么数据结构就是这些数据在计算机(相当于人脑)中的存储方法。
数据结构要掌握的是 数据的逻辑结构和物理存储结构,还有算法。
数据结构和算法的关系:
数据结构:
当然就有存储结构和逻辑结构两种,分别研究数据的实际物理存储和理论上的结构形式。 比如在计算机中,数组在物理的存储介质上(存储器)是连续存储的(比如你家柜子上几层的抽屉,每个抽屉都放些东西,东西就是数据),而在逻辑结构,就说它是数组形式了。其他还有链表,队列,栈等。物理的存储形式和逻辑结构都不同。所以说数据结构是数据存储的方式。
算法:
通俗的说就是处理数据的方法。但是数据又用不同的数据结构来存储,所以对于不同的数据结构,算法是不同的(比如怎样取出,按什么条件方式取出,怎样存储,按什么条件方式存储,还有在不同的数据结构中的排序,插入数据等等各种操作)。但算法为什么如此之重要呢?因为不同的算法,它的执行效率是不同的,这在实际的工作中式很重要的,还是以数组举例:对数组中的数据排序,我们开始就学过,冒泡法,选择法,擂台法。。。这些算法都是前人总结的方法,但是效率也是有差别的。衡量一个算法的优劣的标准就是它的“时间复杂度(执行完需要的时间)”和“空间复杂度(执行中占用的物理存储空间)”
定义结构体:
typedef struct
{
datatype data[MAXLEN] ;
}SeqList;
void SortList(SeqList *L)
{
for(int i=0;i<MAXLEN-1;i++)
{
for(int j=0;j<MAXLEN-i-1;j++)
{
if(L->data[j]<L->data[j-1])
{
datatype temp=L->data[i];
L->data[i]=L->data[j];
L->data[j]= temp;
}
}
}
}
此方法是冒泡排序法。
就像你可以用脑袋存储各种数据(怎样存储不予追究),那么数据结构就是这些数据在计算机(相当于人脑)中的存储方法。
数据结构要掌握的是 数据的逻辑结构和物理存储结构,还有算法。
数据结构和算法的关系:
数据结构:
当然就有存储结构和逻辑结构两种,分别研究数据的实际物理存储和理论上的结构形式。 比如在计算机中,数组在物理的存储介质上(存储器)是连续存储的(比如你家柜子上几层的抽屉,每个抽屉都放些东西,东西就是数据),而在逻辑结构,就说它是数组形式了。其他还有链表,队列,栈等。物理的存储形式和逻辑结构都不同。所以说数据结构是数据存储的方式。
算法:
通俗的说就是处理数据的方法。但是数据又用不同的数据结构来存储,所以对于不同的数据结构,算法是不同的(比如怎样取出,按什么条件方式取出,怎样存储,按什么条件方式存储,还有在不同的数据结构中的排序,插入数据等等各种操作)。但算法为什么如此之重要呢?因为不同的算法,它的执行效率是不同的,这在实际的工作中式很重要的,还是以数组举例:对数组中的数据排序,我们开始就学过,冒泡法,选择法,擂台法。。。这些算法都是前人总结的方法,但是效率也是有差别的。衡量一个算法的优劣的标准就是它的“时间复杂度(执行完需要的时间)”和“空间复杂度(执行中占用的物理存储空间)”
定义结构体:
typedef struct
{
datatype data[MAXLEN] ;
}SeqList;
void SortList(SeqList *L)
{
for(int i=0;i<MAXLEN-1;i++)
{
for(int j=0;j<MAXLEN-i-1;j++)
{
if(L->data[j]<L->data[j-1])
{
datatype temp=L->data[i];
L->data[i]=L->data[j];
L->data[j]= temp;
}
}
}
}
此方法是冒泡排序法。
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个你可以看<<数据结构(严蔚敏版)>>第10章(排序)
数据结构讲的是数据及数据之间的关系,数据既可以指简单的数字也可以指现实事物在具体应用的逻辑抽象.只有理解数据之间的关系,你才能编出相应的程序.
数据结构不是一门编程语言,他比较接近数学在计算机问题方向的应用,他研究的是现实问题(比如说输入一串数据并将其按一定规则排序)在计算机中如何表达,并根据这种表达方式(表达方式很多)决定他能产生何种算法.
数据结构和数学很接近,学好数据结构一定要理解他的思想,首先是那几个基础概念,其次是几种计算机思维,比如说(递归).
数据结构讲的是数据及数据之间的关系,数据既可以指简单的数字也可以指现实事物在具体应用的逻辑抽象.只有理解数据之间的关系,你才能编出相应的程序.
数据结构不是一门编程语言,他比较接近数学在计算机问题方向的应用,他研究的是现实问题(比如说输入一串数据并将其按一定规则排序)在计算机中如何表达,并根据这种表达方式(表达方式很多)决定他能产生何种算法.
数据结构和数学很接近,学好数据结构一定要理解他的思想,首先是那几个基础概念,其次是几种计算机思维,比如说(递归).
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询