首页 > 其他 > 详细

------------------------- 1 基本概念-------------------------------

时间:2015-12-27 14:41:05      阅读:247      评论:0      收藏:0      [点我收藏+]

数据结构(date structure)是计算机中储存,组织数据的方式.通常情况下,精心选择的数据结构可以带来最优效率(短小精悍)的算法.---------------------数据结构和算法是紧密相关的.

例一:  怎样在书架上放置一些书籍(给了你一些数据和一些储存空间你应该怎样将这些数据储存起来)?

思考时间:----------------------------------------------------------;

放置图书需要注意的问题:

操作1:新书怎么插入?

操作2:怎么找到一本特定的书?

--------------------------------------下面是我的想法------------------------------------

1:按照数据从小到大的顺序以数组的方式(在物理地址上连续的储存).

2:按照数据从小到大的顺序以链表的方式储存.

-----------讲解----------------------放置图书----------------------------------------------------

1:随便放.

操作1:那里有空放哪里.....

操作2:  累成哮天犬........

2按照书名拼音顺序摆放...

操作1:缺点:适用于不经常变动的有序表...插入和删除比较困难.

操作2:二分查找   优点:速度快.比较的次数少. 0

3:将书架划分成几块区域,每块区域指定摆放某一类图书.(对第二种方法的优化)

问题:

    1:空间怎么分 ?     每一类多大的区域 ?  防止浪费...防止不断加书柜.

    2:类别分多细 ?    太细的话...太粗略的话.....

----------------------------参考咱们学校的方法--------------------------------

可以先进行大类的分类,然后按字母顺序排列,最后将索书号一一编辑放入一个软件中,将其信息填入软件(哪个馆区、哪一排、那一层…

=========================我是大分割线=====================================

写程序实现一个函数print,使得传入一个正整数为N的参数后,能顺序打印从1到N的全部正整数.

//循环实现
#include<stdio.h>
int main()
{
    int n,i;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        printf("%d\n",i);
    }
    return 0;
}技术分享
//我输入100000的时候程序崩了.
#include<stdio.h>
int print(int n);
int main()
{
    int n,i;
    scanf("%d",&n);
    print(n);
    return 0;
}
int print(int n)
{
    if(n)
    {
        print((n-1));
        printf("%d\n",n);
    }
}技术分享

作为人类你喜欢写递归程序,但是计算机特别不想跑递归.(递归占用空间吓死人.)

-----------------------------------------上面的递归为什么崩了?---------------------------------------

上面的递归占用空间太多,以至于在空间吃完之后还想吃空间导致自己爆了.

---------------------------------------------------------------------------------------------------------

==========================我是大分隔符==================================

写程序 计算给定多项式在定点X处的值.

F(x)=a0+a1*x+a2*x+~~~~~~~~+a n-1 *x ^n-1  +a n x^n;

//很人性化,简单易懂.....但是蠢的要死.
//其思想是   一个一个相加得出最后的结果
#include<stdio.h>
#include<math.h>
int main()
{
    int a[11111],x,n,j,b,c,p,i;
    while(scanf("%d",&n)!=EOF)
    {
        for(i=0;i<=n;i++)
        {
            scanf("%d",&a[i]);
        }
        scanf("%d",&x);
        for(p=i=0;i<=n;i++)
        {
            p=p+a[i]*pow(x,i);
        }
        printf("%d\n",p);
    }
    return 0;
}

--------------------------------------几千年前 秦九韶  就想出来了一个更好的算法下面附上代码---------------------

------------------------- 1 基本概念-------------------------------

原文:http://www.cnblogs.com/A-FM/p/5079966.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!