数据结构
文章平均质量分 86
javascript_good
这个作者很懒,什么都没留下…
展开
-
数据结构之队列
队列这个概念非常好理解。你可以把它想象成排队买票,先来的先买,后来的人只能站末尾,不允许插队。先进者先出,这就是典型的“队列”。我们知道,栈只支持两个基本操作:入栈 push()和出栈 pop()。队列跟栈非常相似,支持的操作也很有限,最基本的操作也是两个:入队 enqueue(),放一个数据到队列尾部;出队 dequeue(),从队列头部取一个元素。所以,队列跟栈一样,也是一种操作受限的线性表数据结构。队列的概念很好理解,基本操作也很容易掌握。原创 2023-10-27 16:26:25 · 419 阅读 · 1 评论 -
数据库进阶
CTEs基本上创建了一个临时表,用于查询子查询使用常用表表达式(CTEs)是模块化和分解代码的好方法在Where子句中使用子查询进行以下查询。现在很清楚,Where子句是在多伦多的名称中过滤。CTE很有用,可以将代码分解为较小的块,但它们也很有用,因为它允许为每个CTE分配变量名称(即toronto_ppl和avg_female_salary)同样,CTEs允许完成更高级的技术,如创建递归表。原创 2023-08-08 11:37:44 · 81 阅读 · 0 评论 -
数据结构之复杂度分析
算法的执行效率,粗略地讲,就是算法代码执行的时间这里有段非常简单的代码,求 1,2,3…n 的累加和。看如何来估算一下这段代码的执行时间从 CPU 的角度来看,这段代码的每一行都执行着类似的操作:读数据-运算-写数据。尽管每行代码对应的 CPU 执行的个数、执行的时间都不一样,但是,我们这里只是粗略估计,所以可以假设每行代码执行的时间都一样,为 unit_time。在这个假设的基础之上,这段代码的总执行时间是多少呢?原创 2023-06-26 10:58:54 · 677 阅读 · 0 评论 -
C语言实现排序算法的六种方式
当j=8,符合条件,将a[8]挖出再填到上一个坑a[0]中。这次从i开始向后找一个大于X的数,当i=3,符合条件,将a[3]挖出再填到上一个坑中a[8]=a[3];从j开始向前找,当j=5,符合条件,将a[5]挖出填到上一个坑中,a[3] = a[5];由于已经将a[0]中的数保存到X中,可以理解成在数组a[0]上挖了个坑,可以将其它数据填充到这来。此时,i = j = 5,而a[5]刚好又是上次挖的坑,因此将X填入a[5]。4.再重复执行2,3二步,直到i==j,将基准数填入a[i]中。原创 2023-06-14 10:16:52 · 6861 阅读 · 0 评论