This week’s lessons strengthened my understanding of how algorithm efficiency is measured using Big-O, Big-Theta, and Big-Omega notations. The lecture notes emphasized identifying the basic operation and using the dominant term to classify an algorithm’s growth order. Through quizzes, I learned why Big-Theta can only be used when an algorithm has the same time complexity in all cases, while Big-O represents an upper bound. The homework project applied these ideas in practice by showing how sorting often dominates overall runtime, leading to (n log n) complexity. Analyzing recursive algorithms using recurrence relations and backward substitution also helped clarify how time complexity evolves across recursive calls.
This week, I learned more about probability distributions, density plots, histograms, and how to visualize data using Python libraries such as Pandas, Matplotlib, Seaborn, and SciPy. I practiced creating density plots, box plots, cumulative density plots, and histograms using real datasets. I also learned how changing things like bin width, bandwidth, transparency, and sample size can affect the appearance and interpretation of graphs. Another important topic was understanding skewness and how transformations such as log10 can help make heavily skewed data easier to analyze. One thing I found interesting was how probability density functions (PDFs) and histograms can represent the same data differently. Before this week, I thought graphs mostly showed the same information in different styles, but now I understand that each type of plot has a different purpose and can make patterns easier or harder to notice. I also learned that larger sample sizes tend to reflect the true distribution...
Comments
Post a Comment