有一道数据结构的题不会写?
我有一些数学题不会写,我该怎么办?
教你8字箴言,对而且不单单对数学有用的,那就是苦海无边,回头是岸,秘诀哦,当然这个是对比较高级的数学题作用大,至于简单的不会做迈,就没有什么秘诀了,如果硬要说有的话,也是8个字了,多看,多想,多问,多练.自己去琢磨吧.
这道数据结构题怎么做啊?
数组A共占用多少字节; 6*8*6=288个字节
数组A的最后一个元素的地址; 1000+288-1=1287
按行存储时元素A36的地址; 1000+(3-1)*8*6+(6-1)*6=1126
按列存储时元素A36的地址; 1000+(6-1)*6*6+(3-1)*6=1192
数据结构不会做
1.
解:求二叉树结点总数的算法如下:
int CountNode(btree *t,int num) /*num初值为0*/
{ if(t!=NULL)
{
num++;
num=CountNode(t->left,num);
num=CountNode(t->right,num);
}
return num;
}
求二叉树叶子结点总数的算法如下:
int
CountLeaf(btree *t,int num) /*num初值为0*/
{ if(t!=NULL)
{
if(t->left==NULL &&
t->right==NULL)
num++;
num=CountLeaf(t->left,num);
num=CountLeaf(t->right,num);
}
return num;
}
3. 解:
void create(btree *t,int tree[],int i)
{
if(t!=NULL)
{
tree[i]=t->data;
create(t->left,tree,2*i);
create(t->right,tree,2*i+1);
}
}
一道数据结构 时间复杂度的题目,求助!
首先要弄清楚 O 记号是什么意思,用它来表示一个算法运行时间的渐近上界,对于函数g(n),用O(g(n))表示一个函数集合。
算法导论书上有这样的定义:O(g(n)) = {f(n): 存在正整数c和n0,使对所有的n>=n0,有0<=f(n)<=cg(n)}
上面的看不懂也可以忽略,你只需要知道一个渐近正函数中的低阶项在决定上下界时可以被忽略,因为当n很大时它们就相对地不重要了,指数最高项很小的一部分就足已超越所有的低阶项。同样最高阶项的常系数也可以忽略,举个例子,要求O(f(n)),其中f(n)=an²+bn+c
a,b,c为常数,且a>0,怎么求呢,就是按上面所说的求,舍掉低阶项并忽略常数项就得出
f(n) = O(n²)
所以你上面的题目
f(n) = O(n³)
O(g(n)) = O(n³)
h(n) = O(n的1.5次方)
O(nlogn) = O(nlogn)
所以1 式成立 2式不成立